实验题目 |
实验三 SJK数据库设计 |
||||
实验时间 |
2023.3.22 |
实验地点 |
软件工程基础实验室 |
实验课时 |
2 |
实验目的 |
掌握数据库设计基本方法及数据库设计工具。 |
||||
实验要求 |
掌握数据库设计基本步骤,包括数据库概念结构设计、逻辑结构设计,物理结构设计,数据库模式SQL语句生成。能够使用数据库设计工具进行数据库设计。 |
||||
实验步骤 及内容 |
设计一个教务信息系统的数据库。数据库包含院系信息,学生信息,教师信息,课程信息,学生选课信息,考试信息。其中,一个学生属于一个院系,可以选修多门课程。一个教师属于一个院系,可以任教多门课程,一门课程也可以有多个老师任教。一门课程有多个课程安排,可以有多场考试安排。 (1)数据库概念结构设计 识别出学生,教师,院系,课程,考试,课程安排六个实体。每个实体的属性、码如下: 学生Student:学号sno,姓名sname,性别ssex,年龄sage,班级class,院系编号dno。主码:学号sno。 教师teacher:编号tno,姓名tname,性别tsex,年龄tage,院系dno,职称title。主码:编号tno。 院系department:院系名depart_name,院系编号dno,院长编号dean_tno。主码:院系编号dno。 课程course:课程号cno,课程名course_name,学时数hours,学分credit,类型type,开设院系dno。主码:课程号。 课程安排course_arrangement:课程号cno,周次week,节次course_time,教室classroom。主码:课程号cno,周次week,节次course_time 考试安排exam_arrangement:课程号cno,考试时间exam_time,考试时长hours,考试地点classroom。主码:课程号,考试地点。 根据语义,分析实体之间的联系,确定实体之间一对一,一对多和多对多联系。 SQL语句生成 由PowerDesigner生成的SQL语句如下: if exists(select 1 from sys.sysforeignkey where role='fk_sc_s') then alter table sc delete foreign key fk_sc_s end if; if exists(select 1 from sys.sysforeignkey where role='fk_sd') then alter table student delete foreign key fk_sd end if; if exists( select 1 from sys.systable where table_name='student' and table_type in ('BASE', 'GBL TEMP') ) then drop table student end if; /*==============================================================*/ /* Table: student */ /*==============================================================*/ create table student ( sno char(12) not null, sname char(25) null, ssex char(2) null, sage small int null, class char(8) null, dno char(2) null, constraint PK_STUDENT primary key clustered (sno) ); alter table student add constraint fk_sd foreign key (dno) references department (dno) |
实验三 SJK数据库设计
最新推荐文章于 2025-08-14 19:51:53 发布