数据库原理及应用大作业文档文档格式.docx
《数据库原理及应用大作业文档文档格式.docx》由会员分享,可在线阅读,更多相关《数据库原理及应用大作业文档文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
NOTNULL
学校类型号
SchType
Char
(1)
学校类型
SchNature
Char(3)
学校性质
表3-1-3-3学校信息表(School)
SchoolName
Char(20)
学校名称
Province
Char(10)
学校所在省份
City
学校所在市
Country
学校所在县
Town
学校所在乡镇
表3-1-3-4教育信息表(Education)
Sno
学生学号
ClassName
班级名称
ClassTeacher
Char(12)
班主任
3.1.4用户子模式定义
3.2施加约束
在学生信息表中(Student)学生性别必须是男或女,学生出生日期格式为‘yyyy-mm-dd’;
在学校类型信息表中(TypeName),学校类型输入必须从以下选择:
H/M/C/U(H:
高中/M:
初中/C:
大专/U:
大学),学校性质必须从以下选择:
PUB/PRI(PUB:
公办型/PRI:
民办型)
4.数据库建立
CREATEDATABASEInformation--指定数据库名字为Information
ONPRIMARY--定义在主文件组上的文件
(
NAME=first_data,--指定主文件的逻辑名称
FILENAME='
E:
\SQLSERVER\Information\Information.mdf'
--指定主文件的物理名称
SIZE=20MB,--设置初始大小为MB,MB可省略
MAXSIZE=unlimited,--设置最大限度为无限
FILEGROWTH=5%--指定增长速度为%
)
LOGON--定义事务日志文件
NAME=first_log,--定义事务日志文件的逻辑名称
\SQLSERVER\Information\Information.ldf'
--定义事务日志文件的物理名称
SIZE=1,--设置初始大小为MB
MAXSIZE=100,--设置最大限度为MB
FILEGROWTH=1--指定增长速度为MB
)
4.1表和视图的创建
4.1.1建立数据表
创建Student表
CREATETABLEStudent
Snovarchar(20)notnullprimarykey,
Ssexchar
(2)notnull,
Snamechar(12)notnull,
Sbirthdate,
QQchar(20)
创建School表
CREATETABLESchool
SchoolNamechar(20)notnullprimarykey,
Provincechar(10),
Citychar(20),
Countrychar(20),
Townchar(20)
创建TypeName表
CREATETABLETypeName
TypeNochar(3)notnullprimarykey,
SchTypechar
(1)notnull,
SchNaturechar(3)notnull
创建Education表
CREATETABLEEducation
Snovarchar(20)notnullforeignkeyreferencesStudent(Sno),
TypeNochar(3)notnullforeignkeyreferencesTypeName(TypeNo),
SchoolNamechar(20)notnullforeignkeyreferencesSchool(SchoolName),
ClassNamechar(20)notnull,
ClassTeacherchar(12)notnull,
ConstraintPK_EDUPRIMARYKEY(Sno,TypeNo,SchoolName)
)
创建信息查询视图
createviewInformationview(学号,姓名,性别,出生日期,QQ号码,学校名称,学校所在省份,学校所在市区,学校所在县,学校所在乡镇,学校类型,学校性质,班级名称,班主任)
as
selectStudent.Sno,Sname,Ssex,Sbirth,QQ,School.SchoolName,Province,City,Country,Town,SchType,SchNature,ClassName,ClassTeacher
fromStudent,School,TypeName,Education
whereStudent.Sno=Education.SnoandSchool.SchoolName=Education.SchoolNameandTypeName.TypeNo=Education.TypeNo
4.1.2建立视图
createviewStudentview(学号,姓名,性别,出生日期,QQ号码)
selectSno,Sname,Ssex,Sbirth,QQ
fromStudent
createviewSchoolview(学校名称,学校所在省份,学校所在市区,学校所在县,学校所在乡镇)
selectSchoolName,Province,City,Country,Town
fromSchool
createviewTypeNameview(学校类型号,学校类型,学校性质)
selectTypeNo,SchType,SchNature
fromTypeName
createviewEducationview(学号,类型号,学校名称,班级名称,班主任)
selectSno,TypeNo,SchoolName,ClassName,ClassTeacher
fromEducation
4.1.3存储过程
根据数据库的设计需要,共需要6个存储过程
存储过程名字
作用
Student_Insert
向Student信息表中插入一元组
School_Insert
向School信息表插入一元组
Education_Insert
向Education信息表插入一元组
Student_Update
更新Student信息表
Stu_Delete
删除学生信息一元组
Edu_Delete
删除教育信息
--向学生信息表插入一元组
createprocedureStudent_Insert
@Snovarchar(20),
@Snamechar(12),
@Ssexchar
(2),
@Sbirthdate,
@QQchar(20)
AS
insertintoStudent
values(@Sno,@Sname,@Ssex,@Sbirth,@QQ);
--向学校信息表插入一元组
createprocedureSchool_Insert
@SchoolNamechar(20),
@Provincechar(10),
@Citychar(20),
@Countrychar(20),
@Townchar(20)
insertintoSchool
values(@SchoolName,@Province,@City,@Country,@Town);
--向教育信息表插入一元组
createprocedureEducation_Insert
@TypeNochar(3),
@ClassNamechar(20),
@ClassTeacherchar(12)
insertintoEducation
values(@Sno,@TypeNo,@SchoolName,@ClassName,@ClassTeacher)
--在学生信息表中更新一元组
CREATEPROCEDUREStudent_Update
updateStudent
setQQ=@QQ
whereSno=@SnoandSname=@Sname
--删除Student表一元组
CREATEprocedureStu_Delete
@Snamechar(12)
delete
whereStudent.Sno=@SnoandStudent.Sname=@Sname
--删除Education表一元组
CREATEprocedureEdu_Delete
@SchoolNamechar(20)
whereSno=@SnoandTypeNo=@TypeNoandSchoolName=@SchoolName