当前位置:首页 > 学生宿舍管理系统安徽工业大学数据库课程设计doc资料
数据库课程设计--学生宿舍管理系统
宿舍号 char 3 外码 学生住的宿舍号 员工表,主要记录员工的基本信息。 属性名 员工号 员工姓名 年龄 楼号 性别 职位 联系方式 类型 char Varchar smallint char char Varchar char 长度 4 10 2 2 2 20 11 完整性约束 主码 非空 大于18,小于65 非空 男或女 非空 可以为空 备注 宿舍表,主要记录宿舍的入住信息。 属性名 楼号 宿舍号 宿舍电话 可住人数 已住人数 设备租赁表,主要记录设备的租赁信息。 属性名 设备号 设备名 租赁日期 归还日期 租赁费用 学号
来访者表,主要记录来访者的信息。
12
类型 char char char smallint smallint 长度 2 3 12 2 2 完整性约束 非空 非空 非空 非空 非空 备注 类型 char Varchar Datetime Datetime decimal char 长度 8 20 8 8 (5,2) 8 完整性约束 主码 非空 非空 非空 非空 外码 备注 所租的日期 归还设备日期 租赁设备的费用 租设备学生学号
数据库课程设计--学生宿舍管理系统
属性名 来访人姓名 被访人姓名 所属关系 证件名称 来访日期 来访时间 结束时间 学号
类型 Varchar Varchar Varchar Varchar Datetime Datetime Datetime char 长度 10 10 20 20 8 8 8 8 完整性约束 主码 非空 非空 非空 非空 非空 非空 外码 备注 四 物理结构设计
4.1物理设计阶段的目标与任务
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在
这个阶段中要完成两大任务:
(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构; (2)对物理结构进行评价,评价的重点是时间和空间效率。
4.2数据存储方面
为数据库中各基本表建立的索引如下:
(1)由于基本表学生住宿表的主码学号经常在查询条件和连接操作的连接条件中出现,且它的值唯一,考虑在学号这个属性上建立唯一性索引;
(2)宿舍表的主码楼号,宿舍号经常在查询条件中出现,且它们的组合值唯一,考虑在它们之上建立组合索引;
(3)基本表学生住宿表的一属性姓名,经常在查询条件中出现,且经常出现在相等的比较条件中,考虑在其之上建立聚簇索引;
(4)由于员工表,设备租赁表,来访者表的属性值经常发生变化,权衡系统为维护索引付出的代价,暂考虑不建立索引;
13
数据库课程设计--学生宿舍管理系统
五 数据实施和维护
5.1建立数据库、数据表、视图、索引、导入数据
5.1.1 建立数据库
create database 学生宿舍管理系统;
5.1.2 建立数据表
宿舍表
Create table 宿舍表 ( 楼号 char(2), 宿舍号 char(3),
primary key(楼号,宿舍号), 宿舍电话 char(12) not null, 可住人数 smallint not null, 已住人数 smallint not null, );
学生住宿表
Create table 学生住宿表 (学号 char(8) primary key, 姓名 varchar(10) not null,
性别 char(2) default '男' check(性别 in ('男','女')), 专业 varchar(20) not null, 联系方式 char(11),
入住时间 datetime not null, 楼号 char(2) not null, 宿舍号 char(3) not null,
foreign key(楼号,宿舍号) references 宿舍表(楼号,宿舍号), );
员工的基本信息表 Create table 员工表
(员工号 char(4) primary key, 员工姓名 varchar(10) not null,
14
数据库课程设计--学生宿舍管理系统
年龄 smallint check(年龄>14 and 年龄<65), 楼号 char(2),
性别 char(2) check (性别 in('男','女')), 职位 varchar(20) not null, 联系方式 char(11), );
设备的租赁信息表 Create table 设备租赁表 (设备号 char(8) primary key, 设备名 Varchar(20) not null, 租赁日期 Datetime not null, 归还日期 Datetime not null, 租赁费用 decimal(5,2) not null,
学号 char(8) foreign key references 学生住宿表(学号), );
来访者信息表 Create table 来访者表
(来访者姓名 varchar(10) not null, 被访者姓名 varchar(10) not null, 所属关系 Varchar(20) not null, 证件名称 Varchar(20) not null, 来访日期 Datetime not null, 来访时间 Datetime not null, 结束时间 Datetime not null, 备注 Varchar(50),
学号 char(8) foreign key references 学生住宿表(学号),
15
共分享92篇相关文档