《数据库原理及应用大作业文档word精品文档6页.doc》由会员分享,可在线阅读,更多相关《数据库原理及应用大作业文档word精品文档6页.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流数据库原理及应用大作业文档【精品文档】第 6 页通信录项目开发文档目 录1需求分析21.1应用需求21.1.1用户需求分析21.1.2系统存储需求21.2功能描述21.3数据流图和数据字典21.3.1数据流图21.3.2数据字典22.概念结构设计42.1局部E-R图42.2全局E-R图42.3关系图53.逻辑结构设计53.1 E-R图向关系模型转化53.1.1 生成关系模式53.1.2关系模式的优化53.1.3数据库模式和转换原则63.1.4用户子模式定义63.2施加约束64.数据库建立64.1表和视图的创建74.1.1建立数据表74.1.2建立视图84
2、.1.3存储过程91.3.1数据流图图1-3-1数据流图表1-3-2-1-1 数据项分E-R图2-1-32.2全局E-R图图2-2-1 全局E-R图2.3关系图表3-1-3-2 类型信息表(TypeName)列名数据类型可否为空说明TypeNochar(3)NOT NULL学校类型号SchTypeChar(1)NOT NULL学校类型SchNatureChar(3)NOT NULL学校性质表3-1-3-3 学校信息表(School)列名数据类型可否为空说明SchoolNameChar(20)NOT NULL学校名称ProvinceChar(10)学校所在省份CityChar(20)学校所在市C
3、ountryChar(20)学校所在县TownChar(20)学校所在乡镇表3-1-3-4 教育信息表(Education)列名数据类型可否为空说明SnoChar(20)NOT NULL学生学号TypeNoChar(3)NOT NULL学校类型号SchoolNameChar(20)NOT NULL学校名称ClassNameChar(20)NOT NULL班级名称ClassTeacherChar(12)班主任3.1.4用户子模式定义3.2施加约束在学生信息表中(Student)学生性别必须是男或女,学生出生日期格式为yyyy-mm-dd;在学校类型信息表中(TypeName),学校类型输入必须从
4、以下选择:H/M/C/U(H:高中/M:初中/C:大专/U:大学),学校性质必须从以下选择:PUB/PRI(PUB:公办型/PRI:民办型)4.数据库建立CREATE DATABASE Information-指定数据库名字为InformationON PRIMARY-定义在主文件组上的文件NAME=first_data,-指定主文件的逻辑名称FILENAME=E:SQL SERVERInformationInformation.mdf,-指定主文件的物理名称SIZE=20MB,-设置初始大小为MB,MB可省略MAXSIZE=unlimited,-设置最大限度为无限FILEGROWTH=5%-
5、指定增长速度为%LOG ON-定义事务日志文件NAME=first_log,-定义事务日志文件的逻辑名称FILENAME=E:SQL SERVERInformationInformation.ldf, -定义事务日志文件的物理名称SIZE=1,-设置初始大小为MBMAXSIZE=100,-设置最大限度为MBFILEGROWTH=1-指定增长速度为MB4.1表和视图的创建4.1.1建立数据表创建Student表CREATE TABLE StudentSno varchar(20) not null primary key,Ssex char(2) not null,Sname char(12)
6、not null,Sbirth date,QQ char(20)创建School表CREATE TABLE SchoolSchoolName char(20) not null primary key,Province char(10),City char(20),Country char(20),Town char(20)创建TypeName表CREATE TABLE TypeNameTypeNo char(3) not null primary key,SchType char(1) not null,SchNature char(3) not null创建Education表CREATE
7、 TABLE EducationSno varchar(20) not null foreign key references Student(Sno),TypeNo char(3) not null foreign key references TypeName(TypeNo),SchoolName char(20) not null foreign key references School(SchoolName),ClassName char(20) not null,ClassTeacher char(12) not null,Constraint PK_EDU PRIMARY KEY
8、 (Sno,TypeNo,SchoolName)创建信息查询视图create view Informationview(学号,姓名,性别,出生日期,QQ号码,学校名称,学校所在省份,学校所在市区,学校所在县,学校所在乡镇,学校类型,学校性质,班级名称,班主任)asselect Student.Sno,Sname,Ssex,Sbirth,QQ,School.SchoolName,Province,City,Country,Town,SchType,SchNature,ClassName,ClassTeacherfrom Student,School,TypeName,Educationwhere
9、 Student.Sno=Education.Sno and School.SchoolName=Education.SchoolName and TypeName.TypeNo=Education.TypeNo 4.1.2建立视图create view Studentview(学号,姓名,性别,出生日期,QQ号码)asselect Sno,Sname,Ssex,Sbirth,QQfrom Studentcreate view Schoolview(学校名称,学校所在省份,学校所在市区,学校所在县,学校所在乡镇)asselect SchoolName,Province,City,Country
10、,Townfrom Schoolcreate view TypeNameview(学校类型号,学校类型,学校性质)asselect TypeNo,SchType,SchNaturefrom TypeNamecreate view Educationview(学号,类型号,学校名称,班级名称,班主任)asselect Sno,TypeNo,SchoolName,ClassName,ClassTeacherfrom Education4.1.3存储过程根据数据库的设计需要,共需要6个存储过程存储过程名字作用Student _Insert向Student信息表中插入一元组School_Insert向
11、School信息表插入一元组Education_Insert向Education信息表插入一元组Student_Update更新Student信息表Stu_Delete删除学生信息一元组Edu_Delete删除教育信息- 向学生信息表插入一元组create procedure Student_InsertSno varchar(20),Sname char(12),Ssex char(2),Sbirth date,QQ char(20)ASinsert into Studentvalues(Sno,Sname,Ssex,Sbirth,QQ);-向学校信息表插入一元组create procedu
12、re School_InsertSchoolName char(20),Province char(10),City char(20),Country char(20),Town char(20)ASinsert into Schoolvalues(SchoolName,Province,City,Country,Town);-向教育信息表插入一元组create procedure Education_InsertSno varchar(20),TypeNo char(3),SchoolName char(20),ClassName char(20),ClassTeacher char(12)
13、ASinsert into Educationvalues(Sno,TypeNo,SchoolName,ClassName,ClassTeacher)-在学生信息表中更新一元组CREATE PROCEDURE Student_UpdateSno varchar(20),Sname char(12),QQ char(20)ASupdate Studentset QQ=QQwhere Sno=Sno and Sname=Sname-删除Student表一元组CREATE procedure Stu_DeleteSno varchar(20),Sname char(12)ASdelete from Studentwhere Student.Sno=Sno and Student.Sname=Sname -删除Education表一元组CREATE procedure Edu_DeleteSno varchar(20),TypeNo char(3),SchoolName char(20)ASdelete from Educationwhere Sno=Sno and TypeNo=TypeNo and SchoolName=SchoolName
限制150内