大数据库原理与应用大作业

合集下载

数据库技术及应用课程数据库系统原理课程大作业任务书

数据库技术及应用课程数据库系统原理课程大作业任务书

《数据库系统原理》课程大作业任务书、选题每班同学不可以从所给的10 个中任选一题完成作业,必须从客观实际出发自己选题完成作业。

在同一个班,要求1~2 人一题,原则上选题不能相同。

①商品销售管理系统的设计与实现②图书管理子系统的设计与实现③药品管理子系统的设计与实现④校运动会子系统的设计与实现⑤库存管理子系统的设计与实现⑥学生选课子系统的设计与实现⑦人事管理子系统的设计与实现⑧工资管理子系统的设计与实现⑨项目管理子系统的设计与实现⑩门诊管理子系统的设计与实现二、目标通过对本综合性实验的训练,学生能够比较熟练地掌握数据库的系统构成、关系型数据库、SQL语句、查询优化、数据库的安全保护以及数据库的设计方法。

通过大作业的训练,使得学生全面掌握SQL-SERVE数据库的使用方法,加深对数据库的理解,尤其是完整性约束的理解,深刻体会团队开发的力量,为学生后续课程的学习以及开发大型软件打下良好的基础。

三、对象选修《数据库系统原理》课程的全体同学。

四、要求①要求每个小组的学生进行需求分析、概念设计、逻辑设计和物理设计,并在SQL-SERVER20I数据库上实现所设计的数据库。

②要求每个学生熟练掌握SQL-SERVER200数据库的体系结构,熟练掌握SQL-SERVER200数据库的脚本语言,以及实际运用SQL-SERVER200数据库的能力③要求每个学生熟练运用SQL-SERVER200数据库来解决实际问题。

熟练运用触发器完成复杂的完整性约束,使用存储过程和函数完成相应复杂的数据查询、数据统计和企业业务处理等工作,使用视图、SQL-DC语言、触发器和存储过程实现相应的安全控制。

④培养每个学生提出问题、分析问题和解决问题的能力,老师提出问题,由学生通过大量阅读文献、上网求助、不断探索来完成任务,提高既具有熟练驾驭工具的能力又具有自主创新的素养。

⑤每个班每人为一组单独完成,培养学生的自主学习能力和创新能力,学会编写标准文档,涉及的文档包括综合性实验报告、需求分析、概念设计、逻辑设计和物理设计,最终在SQL-SERVER20I数据库上实现。

数据库原理及应用大作业文档

数据库原理及应用大作业文档

通信录项目开发文档目录1.3.1数据流图 (3) (5)2.2全局E-R图 (6)2.3关系图 (6)3.1.4用户子模式定义 (8)3.2施加约束 (8)4.数据库建立 (8)4.1表和视图的创建 (9)4.1.1建立数据表 (9)4.1.2建立视图 (10)4.1.3存储过程 (10)1.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)表3-1-3-4 教育信息表(Education)3.1.4用户子模式定义3.2施加约束在学生信息表中(Student)学生性别必须是男或女,学生出生日期格式为‘yyyy-mm-dd’;在学校类型信息表中(TypeName),学校类型输入必须从以下选择:H/M/C/U(H:高中/M:初中/C:大专/U:大学),学校性质必须从以下选择:PUB/PRI(PUB:公办型/PRI:民办型)4.数据库建立C REATE DATABASE Information--指定数据库名字为InformationON PRIMARY--定义在主文件组上的文件(N AME=first_data,--指定主文件的逻辑名称F ILENAME='E:\SQL SERVER\Information\Information.mdf',--指定主文件的物理名称S IZE=20MB,--设置初始大小为MB,MB可省略M AXSIZE=unlimited,--设置最大限度为无限F ILEGROWTH=5%--指定增长速度为%)LOG ON--定义事务日志文件(N AME=first_log,--定义事务日志文件的逻辑名称F ILENAME='E:\SQL SERVER\Information\Information.ldf',--定义事务日志文件的物理名称S IZE=1,--设置初始大小为MBMAXSIZE=100,--设置最大限度为MBFILEGROWTH=1 --指定增长速度为MB)4.1表和视图的创建4.1.1建立数据表创建Student表CREATE TABLE Student(S no varchar(20)not null primary key,S sex char(2)not null,S name char(12)not null,S birth date,Q Q char(20))创建School表CREATE TABLE School(S choolName char(20)not null primary key,P rovince char(10),C ity char(20),C ountry char(20),T own char(20))创建TypeName表CREATE TABLE TypeName(T ypeNo char(3)not null primary key,S chType char(1)not null,S chNature char(3)not null)创建Education表CREATE TABLE Education(S no varchar(20)not null foreign key references Student(Sno),T ypeNo char(3)not null foreign key references TypeName(TypeNo),S choolName char(20)not null foreign key references School(SchoolName), ClassName char(20)not null,C lassTeacher char(12)not null,C onstraint PK_EDU PRIMARY KEY (Sno,TypeNo,SchoolName))创建信息查询视图create view Informationview(学号,姓名,性别,出生日期,QQ号码,学校名称,学校所在省份,学校所在市区,学校所在县,学校所在乡镇,学校类型,学校性质,班级名称,班主任)asselectStudent.Sno,Sname,Ssex,Sbirth,QQ,School.SchoolName,Province,City,Country,T own,SchType,SchNature,ClassName,ClassTeacherfrom Student,School,TypeName,Educationwhere Student.Sno=Education.Sno andSchool.SchoolName=Education.SchoolName and TypeName.TypeNo=Education.TypeNo4.1.2建立视图c reate view Studentview(学号,姓名,性别,出生日期,QQ号码)asselect Sno,Sname,Ssex,Sbirth,QQfrom Studentcreate view Schoolview(学校名称,学校所在省份,学校所在市区,学校所在县,学校所在乡镇)asselect SchoolName,Province,City,Country,Townfrom Schoolcreate view TypeNameview(学校类型号,学校类型,学校性质)asselect TypeNo,SchType,SchNaturefrom TypeNamecreate view Educationview(学号,类型号,学校名称,班级名称,班主任)asselect Sno,TypeNo,SchoolName,ClassName,ClassTeacherfrom Education4.1.3存储过程根据数据库的设计需要,共需要6个存储过程-- 向学生信息表插入一元组create procedure Student_Insert@Sno varchar(20),@Sname char(12),@Ssex char(2),@Sbirth date,@QQ char(20)ASinsert into Studentvalues(@Sno,@Sname,@Ssex,@Sbirth,@QQ);--向学校信息表插入一元组create procedure School_Insert@SchoolName 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_Insert@Sno varchar(20),@TypeNo char(3),@SchoolName char(20),@ClassName char(20),@ClassTeacher char(12)ASinsert into Educationvalues(@Sno,@TypeNo,@SchoolName,@ClassName,@ClassTeacher)--在学生信息表中更新一元组CREATE PROCEDURE Student_Update@Sno varchar(20),@Sname char(12),@QQ char(20)ASupdate Studentset QQ=@QQwhere Sno=@Sno and Sname=@Sname--删除Student表一元组CREATE procedure Stu_Delete@Sno varchar(20),@Sname char(12)ASdeletefrom Studentwhere Student.Sno=@Sno and Student.Sname=@Sname--删除Education表一元组CREATE procedure Edu_Delete@Sno varchar(20),@TypeNo char(3),@SchoolName char(20)ASdeletefrom Educationwhere Sno=@Sno and TypeNo=@TypeNo and SchoolName=@SchoolName。

大数据库原理与应用实验报告材料

大数据库原理与应用实验报告材料

数据库原理与应用实验报告实验报告1.实验目的熟悉SQL的数据定义语言,能够熟练地使用SQL语句来创建和更改根本表,创建和取消索引。

对数据库进展单表查询、连接查询、嵌套查询、集合查询和统计查询。

2.实验内容✧在SSMS环境中使用SQL语言创建数据库✧使用CREATE语句创建根本表。

✧更改根本表的定义: 增加列,删除列,修改列的数据类型。

✧创建表的升、降序索引。

✧删除根本表的约束、根本表的索引或根本表。

3.实验步骤〔按自己来〕1)在SSMS环境中使用SQL语言创建数据库:某某全拼_Mis2)使用SQL语句创建关系数据库根本表:供给商表:某某全拼_S〔拼音缩写_Sno,拼音缩写_Sname,拼音缩写_Status,拼音缩写_City〕零件表:某某全拼_P〔拼音缩写_Pno,拼音缩写_Pname,拼音缩写_Color,拼音缩写_Weight〕工程项目表:某某全拼_J〔拼音缩写_Jno,拼音缩写_Jname,拼音缩写_City〕零件供给情况表:某某全拼_SPJ〔拼音缩写_Sno,拼音缩写_Pno,拼音缩写_Jno,拼音缩写_QTY〕其中:拼音缩写_Sno、拼音缩写_Pno、拼音缩写_Jno、〔拼音缩写_Sno,拼音缩写_Pno,拼音缩写_Jno〕分别是表xuning_S、表xuning_P、表xuninig_J、表xuning_SPJ的主键,具有唯一性约束。

3〕找出供给工程J1的供给商号4〕找出供给工程J1零件P1的供给商号5〕找出供给工程J1红色零件的供给商号6〕找出没有使用某某供给商生产的绿色零件的工程号7〕找出和供给商S1在同一城市的供给商所提供的所有零件8〕找出供给红色的P1零件且其供给量>200的供给商号9〕找出所有供给商的某某和所在城市10〕找出零件的名称、颜色、重量11〕找出使用供给商S2所供给零件的工程号12〕找出工程项目J3实用的各种零件的名称与数量13〕找出某某厂商供给的所有零件14〕找出使用某某产的零件的工程号15〕找出没有某某产的零件的工程号16〕把全部红色零件的颜色改为蓝色17〕由供给商S4供给J3零件P5改为由S3供给,请做必要的修改18〕从供给商表关系中删除S3的记录,并从供给情况关系中删除相应的记录 19〕请将(S2,J6,P4,300)插入到供给情况关系中20〕为‘一键’工程项目建立一个供给情况的视图,包括供给商号,零件代码,供给商名称,供给数量A〕找出‘一键’使用的各零件代码与数量B〕找出供给商S2的供给情况C〕找出供给零件P2且供给数量大于100的供给商名21)把对表xuning_S的插入权限授予用户zhangyong,并允许他再将此权利授予他人22)把查询表xuning_SPJ和修改QTY的权限授予liming4.实验结果〔只要粘贴图片,查询分析器,写的语句和结果,四X表的语句粘一个图就可以了,剩下三X表的语句粘就可以了〕1)在SSMS环境中使用SQL语言创建数据库jiangxue_Mis语句:CREATEDATABASE jiangxue_MisON(NAME=jiangxue_data,FILENAME='c:\jiangxue\jiangxue-mis-data.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOG ON(NAME='jiangxue_Log',FILENAME='c:\jiangxue\jiangxue_mis_log.ldf',SIZE=5MB,MAXSIZE=25MB, FILEGROWTH=5MB)2)用SQL语言创建供给商表createtable jiangxue_S (Sno char(5)primarykey, Sname char(20)notnull, Status int,City char(20)notnull)createtable jiangxue_P(Pno char(5)primarykey,Pname char(20)notnull,Color char(20)notnull,Weight int)createtable jiangxue_J(Jno char(5)primarykey,Jname char(20)notnull,City char(20)notnull,)createtable jiangxue_SPJ(Sno char(5),Pno char(5),Jno char(5),QTY int,primarykey(Sno,Pno,Jno),constraint S_SPJ foreignkey(Sno)references jiangxue_S, constraint P_SPJ foreignkey(Pno)references jiangxue_P, constraint J_SPJ foreignkey(Jno)references jiangxue_J )3)将数据插入各表insertinto jiangxue_Svalues('S1','利群',30,'某某') insertinto jiangxue_Svalues('S2','同方',20,'某某') insertinto jiangxue_Svalues('S3','天远',60,'') insertinto jiangxue_Svalues('S4','精诚',10,'某某') insertinto jiangxue_Svalues('S5','化缘',80,'某某') insertinto jiangxue_Svalues('S6','弘治',50,'某某')insertinto jiangxue_Pvalues('P1','钉子','绿','34') insertinto jiangxue_Pvalues('P2','螺丝','蓝','25') insertinto jiangxue_Pvalues('P3','螺母','橙','12') insertinto jiangxue_Pvalues('P4','螺栓','紫','27') insertinto jiangxue_Pvalues('P5','螺钉','红','53') insertinto jiangxue_Pvalues('P6','齿轮','绿','17') insertinto jiangxue_Pvalues('P7','传送带','红','28')insertinto jiangxue_Jvalues('J1','一键','某某')insertinto jiangxue_Jvalues('J2','三汽','某某')insertinto jiangxue_Jvalues('J3','拉链厂','某某') insertinto jiangxue_Jvalues('J4','无线电厂','')insertinto jiangxue_Jvalues('J5','机床厂','某某') insertinto jiangxue_Jvalues('J6','螺钉厂','某某') insertinto jiangxue_Jvalues('J7','机械厂','某某')insertinto jiangxue_SPJvalues('S1','P1','J3','340')insertinto jiangxue_SPJvalues('S1','P1','J2','250') insertinto jiangxue_SPJvalues('S1','P2','J5','120') insertinto jiangxue_SPJvalues('S1','P2','J6','270') insertinto jiangxue_SPJvalues('S1','P2','J7','530') insertinto jiangxue_SPJvalues('S2','P2','J1','170') insertinto jiangxue_SPJvalues('S2','P3','J2','280') insertinto jiangxue_SPJvalues('S2','P4','J3','100') insertinto jiangxue_SPJvalues('S2','P4','J4','120') insertinto jiangxue_SPJvalues('S2','P5','J7','310') insertinto jiangxue_SPJvalues('S2','P5','J5','560') insertinto jiangxue_SPJvalues('S2','P6','J6','200') insertinto jiangxue_SPJvalues('S3','P7','J1','300') insertinto jiangxue_SPJvalues('S3','P1','J1','400') insertinto jiangxue_SPJvalues('S4','P3','J2','410') insertinto jiangxue_SPJvalues('S4','P4','J3','330')insertinto jiangxue_SPJvalues('S4','P4','J4','650')insertinto jiangxue_SPJvalues('S4','P5','J4','150')insertinto jiangxue_SPJvalues('S5','P7','J5','230')insertinto jiangxue_SPJvalues('S5','P7','J7','280')insertinto jiangxue_SPJvalues('S6','P2','J2','350')insertinto jiangxue_SPJvalues('S6','P2','J3','420')insertinto jiangxue_SPJvalues('S6','P6','J1','310')题目1.4:(1)找出供给工程J1零件的供给商号selectdistinct Snofrom jiangxue_SPJwhere Jno='J1'(2)找出供给工程J1零件P1的供给商号select distinct Snofrom jiangxue_SPJwhere Jno='J1'and Pno='P1'(3)找出供给工程J1红色零件的供给商号select distinct Snofrom jiangxue_SPJwhere Jno='J1'and Pno in〔select Pnofrom jiangxue_Pwhere Color='红'〕(4)找出没有使用某某供给商生产的绿色零件的工程号select distinct Jnofrom jiangxue_SPJwhere Pno in(select Pnofrom jiangxue_Pwhere Color='绿')and Sno in(select Snofrom jiangxue_Swhere City<>'某某')(5)找出同供给商S1在同一城市的供给商所提供的所有零件(6)找出供给红色的P1零件且其供给量大于200的供给商号select Sno from jiangxue_SPJwhere exists(select * from jiangxue_Pwhere Pno=jiangxue_SPJ.Pno and Color='红色'and Pno='P1'and QTY>200 )题目1.5:〔1〕找出所有供给商的某某和所在城市select Sname,Cityfrom jiangxue_S〔2〕找出所有零件的名称、颜色和重量select Pname,Color,Weightfrom jiangxue_P〔3〕找出使用供给商S2所供给零件的的工程号select Jno from jiangxue_SPJwhere Sno='S2'order by Jno ASC〔4〕找出工程项目J3使用的各种零件的名称与其数量select Pname,sum(QTY) QTYSfrom jiangxue_SPJ,jiangxue_P where Jno='J2'group by〔5〕找出某某厂商供给的所有零件select distinct Pno from jiangxue_SPJ where Sno in(select Sno from jiangxue_Swhere City='某某')〔6〕找出使用某某产的零件的工程名称select distinct Jname from jiangxue_jwhere Jno in (select Jno from jiangxue_SPJwhere Sno in(select Sno from jiangxue_S where City=’某某’)) 〔7〕找出没用供给某某产的零件的工程号Select distinct Jno from jiangxue_SPJwhere Sno in(select Sno from jiangxue_S where City <> '某某')〔8〕把全部红色零件的颜色改成蓝色修改前:修改后:〔9〕由供给商S4供给J3零件P5改为由S3供给,请做必要的修改修改前:修改后;〔10〕从供给商关系中删除S3的记录,并从供给情况关系中删除相应的记录〔11〕请将〔S2,J6,P4,300〕插入到供给情况关系中。

数据库实训大作业报告书

数据库实训大作业报告书

一、引言随着信息技术的飞速发展,数据库技术在各个领域中的应用越来越广泛。

为了提高我们的数据库应用能力,我们选择了本次数据库实训大作业。

通过本次实训,我们不仅巩固了数据库的基本理论,还提升了实际操作技能,为今后从事相关工作打下了坚实的基础。

二、实训背景与目标1. 实训背景数据库是存储、管理和处理数据的系统,是现代信息社会的核心组成部分。

随着数据量的不断增长,对数据库技术的要求也越来越高。

本次实训旨在通过实际操作,让我们深入了解数据库的基本原理、设计方法和应用技巧。

2. 实训目标(1)掌握数据库的基本概念和术语;(2)熟悉关系型数据库管理系统(RDBMS)的基本操作;(3)能够根据实际需求设计数据库;(4)具备一定的数据库应用开发能力。

三、实训内容与过程1. 实训内容本次实训内容主要包括以下几个方面:(1)数据库设计:包括需求分析、概念结构设计、逻辑结构设计和物理结构设计;(2)数据库实现:包括创建数据库、创建表、定义约束、插入数据、查询数据等;(3)数据库应用开发:包括编写SQL语句、使用存储过程、触发器等。

2. 实训过程(1)前期准备:了解数据库的基本概念和术语,掌握RDBMS的基本操作;(2)需求分析:明确项目需求,确定数据库的用途和功能;(3)概念结构设计:根据需求分析,绘制E-R图,确定实体、属性和关系;(4)逻辑结构设计:将E-R图转换为关系模型,确定表结构、字段类型和约束;(5)物理结构设计:选择合适的数据库管理系统,确定数据存储方式和索引策略;(6)数据库实现:根据设计,创建数据库、创建表、定义约束、插入数据、查询数据等;(7)数据库应用开发:编写SQL语句、使用存储过程、触发器等,实现数据库应用功能。

四、实训成果与总结1. 实训成果通过本次实训,我们成功完成了以下项目:(1)设计并实现了学生信息管理系统,包括学生基本信息、课程信息、成绩信息等;(2)设计并实现了图书管理系统,包括图书信息、借阅信息、罚款信息等;(3)设计并实现了订单管理系统,包括商品信息、订单信息、客户信息等。

数据库原理与应用大作业(A4)

数据库原理与应用大作业(A4)

浙江万里学院2015/2016学年第二学期《数据库原理与应用》大作业班级:学号:姓名:成绩:大作业题目即及要求:题目:设计并实现一个学生信息管理系统要求:系统由系统登录、信息录入、信息查询、信息修改、信息删除、信息统计、密码维护等模块组成。

各模块的功能要求如下:登录模块:负责验证学生的帐户名、密码。

信息录入模块:能够录入学生的信息,并将信息添加到student表中。

信息查询模块:可以通过学号、姓名等查询学生的相关信息。

学生修改模块:可以修改已经录入的学生的信息。

学生信息删除模块:可以根据学号删除学生的相关信息。

信息统计模块:可以统计学生人数、平均成绩、课程数目。

密码维护模块:可对个人账户密码进行修改。

数据库要求:使用ACCESS数据库,建立学生表、课程表、选课表、密码表。

要求提交作品设计文档(需求分析、数据表结构、作品说明)及可运行代码各一份。

需求分析:系统分析 1.1 背景学生管理工作是每个学校必须面对的,它是一项传统且繁琐的教育基础管理工作,极为耗费人力、物力。

往常,各学校采用人工管理形式,每学期开学时相关人员分别统计各个学生的情况,到了期末又要对相关信息进行处理,比如考试情况、学生课程调动等,面对如此不断反复、繁杂的变化,各学校都要耗费大量的人力、物力。

同时,这种以传统人工的方式来管理学生工作,还存在着许多缺点,如效率低、保密性差,另外时间长,将产生大量的冗余文件和数据,这给查找、更新和维护工作都带来了很大的困难。

随着科学技术的不断提高,特别是计算机、网络等相关信息技术的日渐成熟,其强大的功能已经被人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用,特别是它具有的手工管理所无法比拟的优点,使得各个学校都相继采用了信息技术对学生的有关信息进行管理。

通过使用计算机技术等手段,将工作人员从重复、繁杂的手工处理中解脱了出来,提高了工作效率,而且减少了人工处理产生的错误。

使教育基础管理工作迈上了一个新的台阶,从而实现了教育基础管理的信息化、科学化、现代化。

(完整版)数据库原理及应用习题带答案

(完整版)数据库原理及应用习题带答案

习题一、单项选择题1. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

在这几个阶段中,数据独立性最高的是(A)阶段。

A. 数据库系统B. 文件系统C. 人工管理D.数据项管理2. 数据库系统与文件系统的主要区别是(B)。

A. 数据库系统复杂,而文件系统简单B. 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C. 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D. 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量3. 在数据库中存储的是(C)。

A. 数据B. 数据模型C. 数据及数据之间的联系D. 信息4. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指(D)。

A. 同一个应用中的多个程序共享一个数据集合B. 多个用户、同一种语言共享数据C. 多个用户共享一个数据文件D. 多种应用、多种语言、多个用户相互覆盖地使用数据集合5. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是( A )。

A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS6. 数据库管理系统(DBMS)是(C)。

A. 一个完整的数据库应用系统B.一组硬件C. 一组系统软件D.既有硬件,也有软件7. 数据库是在计算机系统中按照一定的数据模型组织、存储和应用的(B)。

A. 文件的集合B. 数据的集合C. 命令的集合D. 程序的集合8. 支持数据库各种操作的软件系统是(B)。

A. 命令系统B. 数据库管理系统C. 数据库系统D. 操作系统9. 由计算机硬件、DBMS、数据库、应用程序及用户等组成的一个整体叫(B)。

A. 文件系统B. 数据库系统C. 软件系统D. 数据库管理系统10. 数据库系统中应用程序与数据库的接口是(B)。

A. 数据库集合B. 数据库管理系统DBMSC. 操作系统OSD. 计算机中的存储介质11. 在DBS中,DBMS和OS之间关系是(D)。

《数据库技术及应用》大作业——

《数据库技术及应用》大作业——

《数据库技术及应用》大作业——员工工资管理系统姓名:学院:班级:学号:一、系统背景介绍系统名称员工工资管理系统系统概况随着信息时代的到来,各企业事业单位开始大量使用计算机来处理日常业务,已经开始启动日常管理信息化工作。

为了推进信息化,减少职员工作量,方便数据整理,提高工作效率,方便管理者了解工资发放情况,需要借助计算机实现一些基本管理工作。

所需信息主要是员工的基本情况,包括:姓名、年龄、性别、上岗时间、员工编号、部门名称、所在部门的基本信息以及各项工资数额。

二、数据库设计DBF表结构Base(员工基本信息)表结构:Office(部门基本信息)表结构Salary(工资基本信息)表结构主码与外码主码对应外码base.number salary.numberbase.department office.department索引所建索引均为结构化复合索引。

包括员工编号,员工姓名,员工部门编号,员工性别,员工实发工资。

三、系统功能结构设计功能结构图主要功能说明使用该系统的人员,主要是运用此系统进行信息录入,信息编辑,信息删除。

然后进行信息的浏览查询,统计分析等。

便于有效管理员工工资情况,并与员工以及所在部门信息相关联。

具体功能如下:封面界面进入登陆界面登陆界面(1)允许进入:输入正确用户名和密码后,进入主菜单界面。

(2)拒绝进入:提示密码错误,被拒绝进入系统。

可退出系统。

数据编辑(1)对base表进行增删改等操作(2)对salary表进行增删改操作(3)对office表进行增删改操作数据查询(1)按编号查询:输入要查询的员工编号,输出员工的实际工资。

(2)按部门查询:输入要查询的部门,输出部门的基本信息。

系统管理(1)系统返回:通过return命令返回系统(2)退出系统:用户通过退出系统按钮可安全退出系统。

四、程序设计主控/菜单程序菜单:* ********************************************************** ** * 01/05/11 菜单1.MPR 21:55:46* ** ********************************************************** ** * 作者名称* ** * 版权所有 (C) 2011 公司名称* * 地址* * 城市, 邮编* * 国家* ** * 说明:* * 此程序由 GENMENU 自动生成。

数据库原理及应用大作业文档

数据库原理及应用大作业文档

通信录项目开发文档目录1需求分析 (2)1.1应用需求........................................................................................... 错误!未定义书签。

1.1.1用户需求分析........................................................................ 错误!未定义书签。

1.1.2系统存储需求........................................................................ 错误!未定义书签。

1.2功能描述........................................................................................... 错误!未定义书签。

1.3数据流图和数据字典....................................................................... 错误!未定义书签。

1.3.1数据流图 (2)1.3.2数据字典................................................................................ 错误!未定义书签。

2.概念结构设计.............................................................................................. 错误!未定义书签。

2.1局部E-R图 (4)2.2全局E-R图 (5)2.3关系图 (5)3.逻辑结构设计.............................................................................................. 错误!未定义书签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库原理与应用》综合设计任务书前言《数据库原理与应用》课程的重点知识模块包括:1)数据库设计、2)用SQL实现建库、建表、查询、更新、和创建视图、3)存储过程和触发器设计。

针对这三个应用能力,用一个案例作为背景,布置三次大作业。

在校大学生都能理解“图书管理系统”的应用场合和业务流程。

因此,以图书管理系统作为案例来布置作业,可以降低业务分析难度,让学生将主要精力放在知识消化与技术应用上。

本文档包括四个部分。

第一部分描述系统的需求,第二部分提出E-R模型设计和关系模型设计的任务;第三部分提出在SQL Server中,用SQL语句来建库、建表、查询、更新数据、创建视图的任务;第四部分,根据应用需求、安全需求和数据完整性要求,提出设计存储过程和触发器的任务。

每个任务之前,都给出了完成任务所需要掌握的关键知识点,学生可以在对这些知识点进行复习的基础上完成任务,每个任务是一次大作业。

第一部分案例的需求描述本部分描述“图书管理系统”的需求,学生通过阅读本部分容,了解系统的功能要求、运行环境,对系统所需的数据有总体认识,作为三次作业的基础。

1.2 需求分析1)功能需求图1-1:功能需求示意图教师信息管理:用于教师基本资料的增删改查。

图书信息管理:用于图书基本信息的增删改查,分类统计图书册数和价值。

借书登记:记录借书时间、所借图书、借书人、办理人。

还书登记:记录还书时间、所还图书、还书人、办理人。

催还:查询借阅逾期的借书信息,给借书人发电子,给借书人的部门打。

2)运行环境要求图1-2:运行环境拓扑图系统采用C/S模式,有两台PC和一台服务器,联成一个局域网。

PC上安装图书管理软件的客户端,服务器上安装DBMS,服务器也可由两台PC中的一台来代替。

第二部分作业1——E-R模型与关系模型设计(满分8分)本部分的任务是:在需求分析的基础上,进行E-R图设计,然后将E-R模型转换为关系模型。

任务:1)根据需求描述,绘制E-R图。

2)将E-R图转换成关系模型,写出所有的关系模式,并写出每一个关系是按照什么规则转换而成的。

3)在已经形成的关系模型下,举例说明连接运算、投影运算、选择运算。

参考答案:(属性写在了实体和联系图形)任务:1)根据需求描述,分别为“图书管理系统”的不同功能模块绘制局部E-R图。

教师信息管理:图书基本信息管理:借还书登记:催还书登记:2)整体E-R图3)关系模式➢类型表(类型名,借阅期限),依据:实体转换为关系。

➢图书表(ISBN,书名,作者,,出版时间,单价,类型名,状态),依据:实体转换为关系,1:N的联系合并到N,在N方增加一个外键:类型名。

注:状态属性为(库存,借出)➢管理员表(管理员名,性别,口令) ,依据:实体转换为关系。

➢教师表(教师工号,,性别,Email,部门名),依据:实体转换为关系,1:N的联系合并到N,在N方增加一个外键:部门名。

➢部门表(部门名,),依据:实体转换为关系。

➢借还表(借还业务编号,ISBN,教师工号,借办理人,借出日期,还办理人,归还日期),依据,M:N联系转换为一个关系,取联系的实体的键加联系属性作为其属性,可以增加一个列作为主键。

➢催还表(催还业务编号,ISBN,教师工号,办理人,催还日期),依据,M:N联系转换为一个关系,取联系的实体的键加联系属性作为其属性,可以增加一个列作为主键。

4)在已经形成的关系模型下,举例说明连接运算、投影运算、选择运算。

连接运算:查看类型的图书已经超过了有效借出期限。

(需要图书,类型,借还关系)投影运算:查看图书的书名、作者。

选择运算:查看单价高于50元的图书。

第三部分作业2——用SQL语句建库、查询、更新数据、创建视图(满分9分)本部分的任务是:在关系模型的基础上,设计出数据库的逻辑结构,然后在SQL Server中用SQL 语句创建数据库、数据表、并输入一些原始数据,写SQL语句,进行数据增删改,创建视图。

任务:1)在第一次大作业的参考答案基础上,将每个关系转换为SQL Server支持的表结构,写出表结构。

2)使用SQL语句,创建数据库,数据库名为BookStore3)使用SQL语句,在数据库中创建表,设定表的主键约束、外键约束、检查约束、非空约束。

4)写以下增删改查操作的SQL语句1、增加三条类型表数据2、增加三条教师表数据3、增加五条图书表数据4、某教师今天借了某书,涉及两个操作,一是图书表的状态改为“借出”,二是增加一个借还表记录5、将某书的单价改为32元。

5)写出创建以下视图的SQL语句1.查询某教师的借还书记录2.查询某本书的流转记录3.借出但未归还的图书视图4.借阅逾期视图5.图书分类统计册数和总价值的视图参照完成:1)表结构管理员表部门表教师表1)使用SQL语句,创建数据库,数据库名为BookStore 语句:Create Databse Bookstore2)使用SQL语句,在数据库中创建表,设定表的主键约束、外键约束、检查约束、非空约束。

语句:CREATE TABLE管理员表(管理员名nchar(10)NOT NULL,性别Char(2)not null DEFAULT'男',口令nchar(20)NOT NULL,CONSTRAINT PK_管理员PRIMARY KEY CLUSTERED(管理员名ASC) )ON [PRIMARY]GOCREATE TABLE类型表(类型名nchar(10)NOT NULL,借阅期限tinyint NOT NULL,CONSTRAINT PK_类型PRIMARY KEY CLUSTERED(类型名ASC))ON [PRIMARY]GOCREATE TABLE图书表(ISBN char(20)NOT NULL,书名nchar(20)NOT NULL,作者nchar(20)NOT NULL,nchar(20)NOT NULL,出版时间datetime NOT NULL,单价money NOT NULL,类型名nchar(10)NOT NULL,状态nchar(2)NOT NULL CHECK(状态in('库存','借出')),CONSTRAINT PK_图书PRIMARY KEY CLUSTERED(ISBN ASC),CONSTRAINT FK_图书_类型FOREIGN KEY(类型名)REFERENCES类型表(类型名)ON UPDATE CASCADE ON DELETE CASCADE)ON [PRIMARY]GOCREATE TABLE部门表(部门名nchar(10)NOT NULL,char(11),CONSTRAINT PK_部门表PRIMARY KEY CLUSTERED(部门名ASC))ON [PRIMARY]GOCREATE TABLE教师表(工号char(4)NOT NULL,nchar(4)NOT NULL,性别Char(2)not null DEFAULT'男',Email char(30)NOT NULL,部门名nchar(10)NOT NULL,CONSTRAINT PK_教师表PRIMARY KEY CLUSTERED(工号ASC),CONSTRAINT FK_部门表_教师表FOREIGN KEY(部门名)REFERENCES部门表(部门名)ON UPDATE CASCADE ON DELETE CASCADE,)ON [PRIMARY]GOCREATE TABLE借还记录表(业务编号int identity(0,1)NOT NULL,ISBN char(20)NOT NULL,工号char(4)NOT NULL,代办理人char(10)NOT NULL,借出日期datetime NOT NULL,还办理人char(10)NULL,归还日期datetime NULL,CONSTRAINT PK_借还记录表PRIMARY KEY CLUSTERED(业务编号ASC),CONSTRAINT FK_借还记录表_教师表FOREIGN KEY(工号)REFERENCES教师表(工号)ON UPDATE CASCADE ON DELETE CASCADE,CONSTRAINT FK_借还记录表_借还记录表FOREIGN KEY(ISBN)REFERENCES图书表(ISBN) ON UPDATE CASCADE ON DELETE CASCADE)ON [PRIMARY]GOCREATE TABLE催还记录表(业务编号int identity(0,1)NOT NULL,ISBN char(20)NOT NULL,工号char(4)NOT NULL,办理人char(10)NOT NULL,催还日期datetime,CONSTRAINT PK_催还记录表PRIMARY KEY CLUSTERED(业务编号ASC),CONSTRAINT FK_催还记录表_教师表FOREIGN KEY(工号)REFERENCES教师表(工号)ON UPDATE CASCADE ON DELETE CASCADE,CONSTRAINT FK_催还记录表_图书FOREIGN KEY(ISBN)REFERENCES图书表(ISBN)ON UPDATE CASCADE ON DELETE CASCADE)ON [PRIMARY]GO3)写以下增删改查操作的SQL语句1.增加三条类型表数据语句:INSERT INTO类型表(类型名,借阅期限)VALUES('计算机',150)INSERT INTO类型表(类型名,借阅期限)VALUES('文学',180)INSERT INTO类型表(类型名,借阅期限)VALUES('经济',30)--delete 类型表--select * from 类型表2.增加三条部门表数据语句:INSERT INTO部门表(部门名,)VALUES('网络系','020-*******')INSERT INTO部门表(部门名,)VALUES('外语系','020-*******')INSERT INTO部门表(部门名,)VALUES('管理系','020-*******')--select * from 部门表3.增加三条教师表数据语句:INSERT INTO教师表(工号,,性别,Email ,部门名)VALUES('J001','三','女','zs.','网络系')INSERT INTO教师表(工号,,性别,Email ,部门名)VALUES('J002','四','男','LS.','网络系')INSERT INTO教师表(工号,,性别,Email ,部门名)VALUES('J003','王五','男','ww.','外语系')--select * from 教师表4.增加五条图书表数据语句:INSERT INTO图书表(ISBN,书名,作者,,出版时间,单价,类型名,状态)VALUES('9789302218661','C#','江红','清华大学','2012.2.10',45,'计算机','库存') INSERT INTO图书表(ISBN,书名,作者,,出版时间,单价,类型名,状态)VALUES('9787802229761','人生博弈密码','吕叔春','中国华侨','2009.2.1',36.8,'文学','库存')INSERT INTO图书表(ISBN,书名,作者,,出版时间,单价,类型名,状态)VALUES('9787301150894','经济学原理','梁小民','大学','2009.4.1',54,'经济','借出')--select * from 图书表5.增加三条管理员表数据语句:INSERT INTO管理员表(管理员名,性别,口令)VALUES('吴管','男','wg001')INSERT INTO管理员表(管理员名,性别,口令)VALUES('管','女','Lg002')INSERT INTO管理员表(管理员名,性别,口令)VALUES('徐管','男','Xg003')--select * from 管理员表--select * from 教师表--select * from 部门表--select * from 类型表--select * from 图书表--select * from 管理员表6.某教师今天借了某书,涉及两个操作,一是图书表的状态改为“借出”,二是增加一个借还表记录语句:insert借还记录表(ISBN ,工号,代办理人,借出日期,还办理人,归还日期) values('9787802229761','J001','wg001','2012.3.20','Lg002','') --select * from 借还记录表--delete 借还记录表update图书表set状态='借出'where ISBN='9787802229761'--select * from 图书表7.将某书的单价改为32元。

相关文档
最新文档