基于软件工程的数据库设计与实现 |
您所在的位置:网站首页 › 电子计划表格设计图软件 › 基于软件工程的数据库设计与实现 |
基于软件工程的数据库设计与实现
一、实验目的二、实验内容三、实验软件四、实验步骤及数据记录1. 系统需求2. 设计 E-R 图3. 设计并创建数据库表4. 存入个人信息
五、实验结论及思考题1、请举例说明本次设计中的数据库表如何来满足数据库三大范式。2、用一张视图来展示学生的基本信息、所在学院、所住寝室、所在校区的情况。请写出创建视图的代码,以及查询该视图信息的 SELECT 命令和结果截图。
六、总结及心得体会
参考学生基本信息管理系统数据库设计参考资料 一、实验目的 学习分析系统需求,了解数据库设计方法学习并掌握E-R 图绘图方法了解数据库设计及实现过程 二、实验内容分析学生基本信息管理系统需求,画出 E-R 图,设计及实现数据库,并存入自己的信息。 三、实验软件Oracle 数据库、SQL Developer、draw.io(开源的绘图软件,画E-R图和网络拓扑图都很不错) 四、实验步骤及数据记录 1. 系统需求以本校为例,目前要新建一个学生基本信息管理系统,具体情况如下: (1)学生入学时会记录身份信息,包括姓名、性别、出生日期、民族、身份证号、学号、政治面貌、手机号码等相关信息。(2)学校有多个学院和多个校区。 学生可因转专业而更换所属学院,但其入学时分配的学号不变。 学生分布在所属学院所在的校区,并且可能会根据情况进行调整。例如某学年计算机学院在校区 1,第二年可能调整到校区 3。(3)每个校区有多栋宿舍楼,宿舍楼的类别有博士生公寓、硕士生公寓和本科生公寓。 系统需要完整记录学生的基本信息、当前所在学院、所在校区、所住宿舍楼寝室,以及其他可能需要的信息。根据系统需求,用draw.io画出所有的 E-R 图。 完整设计出学生基本信息管理系统的所有数据库表及相应的字段。 使用 SQL Developer 将表创建在数据库中,为这些表建立关系模型并截图记录。 --校区信息表 CREATE TABLE CAMPUS_INFORMATION ( CAMPUSID NUMBER(1,0) NOT NULL, --校区ID CAMPUSNAME VARCHAR2(50) NOT NULL, --校区名称 CAMPUSADDR VARCHAR2(300), --校区地址 CONSTRAINT CAMPUS_INFORMATION_PK PRIMARY KEY(CAMPUSID) ); --学院信息表 CREATE TABLE COLLEGE_INFORMATION ( COLLEGENAME VARCHAR2(50) NOT NULL, --学院名称 CAMPUSID NUMBER(1,0) NOT NULL, --校区ID CONSTRAINT COLLEGE_INFORMATION_PK PRIMARY KEY(COLLEGENAME), CONSTRAINT COLLEGE_INFORMATION_FK FOREIGN KEY(CAMPUSID) REFERENCES CAMPUS_INFORMATION(CAMPUSID) ); --专业信息表 CREATE TABLE MAJOR_INFORMATION ( MAJORID NUMBER(2,0) NOT NULL, --专业ID COLLEGENAME VARCHAR2(50) NOT NULL, --学院名称 MAJORNAME VARCHAR2(50) NOT NULL, --专业名称 CONSTRAINT MAJOR_INFORMATION_PK PRIMARY KEY(MAJORID), CONSTRAINT MAJOR_INFORMATION_FK FOREIGN KEY(COLLEGENAME) REFERENCES COLLEGE_INFORMATION(COLLEGENAME) ); --宿舍楼信息表 CREATE TABLE BUILD_INFORMATION ( BUILDID NUMBER(4,0) NOT NULL, --宿舍楼ID CAMPUSID NUMBER(1,0) NOT NULL, --校区ID BUILDTYPE NUMBER(1,0) NOT NULL, --宿舍楼类别(1:本科生,2:硕士生,3:博士生) BUILDNUM NUMBER(2,0) NOT NULL, --宿舍楼序号 CONSTRAINT BUILD_INFORMATION_PK PRIMARY KEY(BUILDID), CONSTRAINT BUILD_INFORMATION_FK FOREIGN KEY(CAMPUSID) REFERENCES CAMPUS_INFORMATION(CAMPUSID), CONSTRAINT BUILD_INFORMATION_CK CHECK ( BUILDTYPE = '1' OR BUILDTYPE = '2' OR BUILDTYPE = '3' ) ); --寝室信息表 CREATE TABLE ROOM_INFORMATION ( ROOMID NUMBER(7,0) NOT NULL, --寝室ID BUILDID NUMBER(4,0) NOT NULL, --宿舍楼ID ROOMNUM NUMBER(3,0) NOT NULL, --寝室序号 CONSTRAINT ROOM_INFORMATION_PK PRIMARY KEY(ROOMID), CONSTRAINT ROOM_INFORMATION_FK FOREIGN KEY(BUILDID) REFERENCES BUILD_INFORMATION(BUILDID) ); --学生信息表 CREATE TABLE STUDENT_INFORMATION ( SNO NUMBER(13,0) NOT NULL, --学号 MAJORID NUMBER(2,0) NOT NULL, --专业ID ROOMID NUMBER(7,0) NOT NULL, --寝室ID SNAME VARCHAR2(50) NOT NULL, --学生姓名 SGENDER VARCHAR2(20) NOT NULL, --学生性别 SBIRTH DATE NOT NULL, --学生出生日期 SNATION VARCHAR2(20) NOT NULL, --学生民族 SIDCARD VARCHAR2(30) UNIQUE, --学生身份证号 SPOLIT VARCHAR2(20) NOT NULL, --学生政治面貌 SPHONE VARCHAR2(20) NOT NULL, --学生手机电话 SGRADE NUMBER(4,0) NOT NULL, --学生年级 CONSTRAINT STUDENT_INFORMATION_PK PRIMARY KEY(SNO), CONSTRAINT STUDENT_INFORMATION_FK1 FOREIGN KEY(MAJORID) REFERENCES MAJOR_INFORMATION(MAJORID), CONSTRAINT STUDENT_INFORMATION_FK2 FOREIGN KEY(ROOMID) REFERENCES ROOM_INFORMATION(ROOMID) );将自己的信息存储在相应的数据库表中,并截图记录存储的表数据。 --存入个人信息 INSERT INTO CAMPUS_INFORMATION VALUES('1','清水河校区','西源大道2006号'); INSERT INTO COLLEGE_INFORMATION VALUES('信息与通信工程学院','1'); INSERT INTO MAJOR_INFORMATION VALUES('02','信息与通信工程学院','网络工程');
![]() ![]() |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |