一.设计目的
通过这次课程设计,熟练掌握软件开发过程中数据库的使用,理解以数
据库为中心的软件开发设计思想,熟练应用数据库的增、删、改、查询等操
作。本次课程设计是基于 SQL Server 2005,由 VC 作为前
n
课程
逻辑结构设计:
(1).将上面 E- R 图转换为关系模型,关系的码为黑体字加下划线。
学生(学号,姓名,性别,年龄,所在班)
此为学生实体对应的关系模式,其中学号是码。
课程(课程号,课程名,先行课名,学分)
此为课程实体对应的关系模式,其中课程号是码。
选修(学号,课程号,成绩)
此为联系“选修”对应的关系模式,其中(学号,课程号)是码。
(2).设计用户子模式
①为学生用户建立视图:
学生 1(姓名,性别,年龄,所在系,课程号,课程名,学分,成绩)
定义学生存取权限:为查询
②为老师用户建立视图:
学生 2(学号,姓名,性别,年龄,所在系,课程号,课程名,先行课名,学分,成绩)
定义教师存取权限为:查询、添加、修改、删除
4.数据库的实现
SQL 代码)
数据库中库和表的定义(见以下
CREATE DATABASE stu
--数据库名为 stu
ON
(NAME=stu_data,
--数据库的逻辑名为 stu_data
FILENAME= ’E:\sql_data\‘,
--数据库的物理名 ,请事先在 E 盘上
建立 sql_data文件夹。
SIZE=10MB,
--数据库的初始大小为 10MB
MAXSIZE=50MB,
--数据库的最大容量为 50MB
FILEGROWTH=10%
--数据库容量自动按 10 %的比例增长
)
LOG ON
(NAME=stu_log,
--日志文件的逻辑名为 stu_log
FILENAME='E:\sql_data\ ',
SIZE=2MB,
MAXSIZE=5MB,
FILEGROWTH=1MB);
CREATE TABLE STUDENT
(sno char(5) not null,
sname char(8),
ssex char(2),
sage smallint,
sdept char(10),
primary key(sno),
check(ssex in ('男','女')),
check(sage between 15 and 30));
CREATE TABLE COURSE
(cno char(2) not null,
cname char(12),
cpno char(2),
ccredit decimal(1),
primary key(cno));
CREATE TABLE SC
(sno char(5) not null,
cno char(2) not null,
grade decimal(3),
primary key(sno,cno),
foreign key(sno) references student(sno),
foreign key(cno) references course(cno),
check(grade between 0 and 100));
CREATE TABLE TEACHER
(Tno char(5) not null,
Tname char(8),
Tsex char(2),
Tstatus vchar(20);
图 1:设计的 student 表
图 2:设计的 Course 表
图 3:设计的 SC 表
系统数据库课程设计实验报告 来自淘豆网m.daumloan.com转载请标明出处.