数据库第五次实验

合集下载

存储过程和触发器(数据库实验5)

存储过程和触发器(数据库实验5)

数据库基础与实践实验报告实验五存储过程和触发器班级:惠普测试142学号:**********姓名:***日期:2016-11-141 实验目的:1)掌握SQL进行存储过程创建和调用的方法;2)掌握SQL进行触发器定义的方法,理解触发器的工作原理;3)掌握触发器禁用和重新启用的方法。

2 实验平台:操作系统:Windows xp。

实验环境:SQL Server 2000以上版本。

3 实验内容与步骤利用实验一创建的sch_id数据库完成下列实验内容。

1.创建存储过程JSXX_PROC,调用该存储过程时可显示各任课教师姓名及其所教课程名称。

存储过程定义代码:CREATE PROCEDURE JSXX_PROCASSELECT tn 教师姓名,cn 所教课程FROM T,TC,C WHERE T.tno=TC.tno AND o=o存储过程执行语句与执行结果截图:EXECUTE JSXX_PROC2.创建存储过程XM_PROC,该存储过程可根据输入参数(学生姓名)查询并显示该学生的学号、所学课程名称和成绩;如果没有该姓名学生,则提示“无该姓名的同学”。

存储过程定义代码:CREATE PROCEDURE XM_PROC @sname VARCHAR(100)ASBEGINIF EXISTS(SELECT NULL FROM S WHERE sn=@sname)SELECT S.sno 学号,cn 课程,score 成绩FROM S,SC,C WHERE o=o AND SC.sno=S.sno ANDS.sn=@snameELSEPRINT'无该姓名的同学。

'END运行截图:3.创建存储过程XBNL_PROC,该存储过程可根据输入参数(专业名词,默认值为计算机专业),统计并显示该专业各年龄段男、女生人数。

如果没有该专业,则显示“无此专业”。

存储过程定义代码:CREATE PROCEDURE XBNL_PROC@departName VARCHAR(30)='计算机',@begin INT,@end INTASDECLARE @numOfBoys INTDECLARE @numOfGirls INTDECLARE @d# VARCHAR(3)DECLARE @result VARCHAR(50)BEGINSELECT @d# = dno FROM D WHERE dn=@departNameIF @d# IS NOT NULLBEGINSELECT @numOfBoys =COUNT(sno)FROM S WHERE age BETWEEN @begin AND @end AND dno=@d# AND sex='男'SELECT@numOfGirls =COUNT(sno)FROM S WHERE age BETWEEN@begin AND@end AND dno=@d# AND sex='女'SET @result = @departName+'专业年龄在'+CAST(@begin AS VARCHAR(3))+'-'+CAST(@end AS VARCHAR(3))+'之间的男生有'+CAST(@numOfBoys AS VARCHAR(3))+'人,'+'女生有'+CAST(@numOfGirls AS VARCHAR(3))+'人'ENDELSESET @result='无此专业。

数据库实验报告五

数据库实验报告五

数据库实验报告五一、实验目的本次数据库实验的目的在于深入了解和掌握数据库的相关操作和应用,通过实际操作提高对数据库原理的理解和运用能力,培养解决实际问题的思维和方法。

二、实验环境本次实验使用的数据库管理系统为_____,操作系统为_____,实验所使用的计算机配置为_____。

三、实验内容1、数据库的创建使用相应的命令和工具创建了一个名为_____的数据库,并设置了合适的字符集和校对规则,以满足数据存储和处理的需求。

2、表的设计与创建在创建的数据库中,设计并创建了多个表,包括_____表、_____表和_____表等。

在表的设计过程中,仔细考虑了字段的数据类型、长度、是否允许为空等属性,以确保数据的完整性和准确性。

例如,在_____表中,设置了_____字段为整数类型,用于存储_____信息;_____字段为字符串类型,长度为_____,用于存储_____信息。

同时,为了保证数据的一致性,设置了主键和外键约束。

3、数据的插入通过编写 SQL 语句,向创建的表中插入了大量的测试数据。

在数据插入过程中,注意了数据的合法性和有效性,避免了插入错误或不完整的数据。

4、数据的查询使用各种查询语句对插入的数据进行查询操作,包括简单查询、条件查询、连接查询、分组查询和排序查询等。

通过这些查询操作,熟练掌握了 SQL 语言中查询语句的语法和用法,能够根据不同的需求准确地获取所需的数据。

例如,使用简单查询语句获取了_____表中所有的记录;使用条件查询语句获取了满足特定条件(如_____)的记录;使用连接查询语句将多个表中的相关数据进行关联查询,获取了更全面的信息。

5、数据的更新与删除对表中的数据进行了更新和删除操作,以模拟实际应用中的数据修改和清理需求。

在更新和删除数据时,特别注意了操作的条件和范围,避免了误操作导致数据的丢失或错误。

四、实验中遇到的问题及解决方法1、数据类型不匹配问题在插入数据时,由于对某些字段的数据类型理解不准确,导致出现数据类型不匹配的错误。

数据库课程实验报告_实验五_学生、选课、成绩简易管理系统

数据库课程实验报告_实验五_学生、选课、成绩简易管理系统

实验五编程实施学生、选课、成绩简易管理系统一.目的与要求1.通过编程扩展“学生选课系统”的功能。

2.进一步掌握调试程序的基本步骤和方法。

二.实验内容1.使学生、教师和课程表具有增加、修改、删除和查询数据的功能。

2.学生根据开设的课程进行选课.3.教师根据学生所选课程进行成绩登录。

4.各类统计分析,比如平均成绩。

系统说明:学生:可以进行选课、退课、查分、查看学生自己的信息、修改自己的密码。

教师:可以查询已选学生、登分、查看教师自己的信息、修改自己的密码。

管理员:可以增加和删除课程、学生、教师等信息,可以查看和修改学生、教师密码,可以注册和注消学生、教师,有所有学生的功能,能够查询教师信息。

部分窗口如下:部分代码如下:如查分代码如下:通过datawindow中通过学号可以查看自己成绩。

dw_1.reset()dw_1.settransobject(SQLCA)dw_1.retrieve(user)dw_1.object.datawindow.readonly="yes"三.上机体会。

进一步掌握了开发管理系统的基本方法;掌握了使用PowerBuilder开发环境提供的工具建立应用程序的步骤和方法;掌握应用PowerBuilder提供的调试程序进行应用程序的调试。

实验六SQL Server 2000高级技术的使用一.目的与要求1.练习存储过程的建立和使用。

2.学会触发器的使用。

二.实验内容1.存储过程的建立和使用。

(1)创建存储过程,使其具有如下功能:根据所提供的学号参数,返回该学生的学习情况信息。

(2)查看和修改存储过程;(3)使用存储过程;(4)删除存储过程。

2.触发器的建立和使用(1)创建两个触发器,分别具有如下功能:a.将删除的学生选课信息转移到存档学生选课表中;b.在修改学生成绩时,要求修改后的成绩一定要比原来的成绩高;(2)查看和修改触发器;(3)使用触发器;(4)删除触发器;3.为实验五设计存储过程和触发器,通过调试验证其正确性。

数据库 实验报告5 ESQL

数据库 实验报告5 ESQL

数据库实验报告5 ESQL试验内容:编写嵌入式C 程序,编程实现了对“同学课程数据库”的拜访和操作:对Student 表中的年龄举行更新。

系统每输出一个同学记录,咨询用户是否更新。

假如要更新,就输入新的年龄。

一. 试验环境介绍。

试验五是在之前完成的试验一的基础上举行的。

系统配置为:CPU: P3 800 内存:512MB 硬盘:30G软件系统:WINDOWS 2000 ADV ANCED SERVER 。

在试验一中,我们已经胜利安装了KingbaseES V4.1,形成本试验所需要的环境。

其中安装路径为C:\Program Files 名目下。

二.编写含嵌入式C 程序test ,扩展名为.pc 。

EXEC SQL BEGIN DECLARE SECTION; /*说明主变量deptname ,HSno ,HSname ,char deptname[20]; *HSsex ,HSage ,NEW AGE 。

*/ char HSno[9];char HSname[20];char HSsex[2];int HSage;int NEWAGE;EXEC SQL END DECLARE SECTION; /*声明部分结束*/long SQLCODE;EXEC SQL INCLUDE sqlca; /*定义SQL 通信区*/int main(void){int count = 0;char yn; /*变量yn 代表yes 或者no*/printf("Please choose the department name(CS/MA/IS): "); /*为主变量deptname 赋值*/ scanf("%s",EXEC SQL CONNECT TO 同学课程数据库@localhost:54321 USER"SYSTEM"/"MANAGER"; /*衔接数据库TEST*/EXEC SQL DECLARE SX CURSOR FOR /*说明游标,为查询和更新做预备*/ SELECT Sno, Sname, Ssex, SageFROM StudentWHERE SDept = :deptname;EXEC SQL OPEN SX; /*打开游标。

数据库实验报告五

数据库实验报告五
execute pro_stu‘1000’,@stuavg output//输出参数必须是变量
select @stuavg //看结果
(3)在pubs数据库中建立一个存储过程,用于检索数据库中某一价位的图书信息。参数有两个,用于指定图书价格的上下限。如果找到满足条件的图书,则返回0,否则返回1。执行结果如图五所示:
实验地点:软件实验室一时间:2015年12月10日
1、实验目的:
掌握用户存储过程的创建,了解一些常用的系统存储过程,以及调用和删除过程,并熟悉使用存储过程来进行数据库应用程序的设计。
二、实验内容:
(1)基于学生—课程数据库创建一存储过程,用于检索数据库中某个专业学生的人数,带有一个输入参数,用于指定专业。执行结果如图二所示:
as select @stu_avg = avg(grade) //将平均值给了变量
from student,sc where student. sno = sc. sno andstudent.sno=@stu_sno
1.存储过程的执行
declare @stuavg float //用于存放输出变量内容的
(2)基于学生-课程数据库创建一存储过程,该过程带有一个输入参数,一个输出参数。其中输入参数用于指定学生的学号,输出参数用于返回学生的平均成绩。执行结果如图四所示:
create procedure pro_stu @stu_sno char(6),@stu_avg float output //这个带output的是输出参数
return 0
else
return 1
(4)存储过程的执行
(5)存储过程的删除。执行结果如图七所示:
3、实验数据(或者实验结果):

数据库实验5

数据库实验5

大连海事大学数据库原理课程实验大纲实验名称:实验五视图实验学时: 2适用专业:实验环境: SQL.serve2008执笔者:编写日期:1实验目的(1)掌握SQL视图语句的基本使用方法,如CREATE VIEW、DROP VIEW。

(2)掌握视图更新、WITH CHECK OPTION等高级功能的使用。

2实验内容2.1 掌握SQL视图语句的基本使用方法(1)创建视图(省略视图列名)。

(2)创建视图(不能省略列名的情况)。

(3)删除视图(RESTRICT / CASCADE)。

2.2 掌握视图更新和WITH CHECK OPTION的高级使用方法(1)创建视图(WITH CHECK OPTION),并利用INSERT、DELETE和UPDATE语句加以验证。

(2)创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。

(3)创建一个不可能更新的视图,并利用更新语句验证该视图不可更新。

3实验要求(1)深入复习教材第三章SQL有关视图语句。

(2)根据书上的例子,针对TPCH数据库模式设计各种视图语句,每种类型视图语句至少要设计一个,描述清楚视图要求,运行你所设计的视图语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。

也可以按照附1所列示例做实验。

(3)实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。

(4)思考题:KingbaseES把视图的定义存储在那个系统表中?如何查看某个视图的定义?4实验步骤4.1 掌握SQL视图语句的基本使用方法(1)创建视图(省略视图列名)。

创建一个“海大汽配”供应商供应的零件视图V_DLMU_PartSupp1,要求列出供应零件的编号、零件名称、可用数量、零售价格、供应价格和备注等信息。

CREATE VIEWV_DLMU_PartSupp1(PARTKEY,NAME,A VAILQTY,RETAILPRICE,SUPPLYCOST,COMMENT)ASSELECT P.PARTKEY,,PS.A VAILQTY,P.RETAILPRICE,PS.SUPPLYCOST,MENTFROM PART P,PARTSUPP PSWHERE P.PARTKEY=PS.PARTKEY AND PS.SUPPKEY IN(SELECT SUPPKEYFROM SUPPLIER SWHERE ='海事大学')(2)创建视图(不能省略列名的情况)。

实验五 数据库的建立和维护(sql)

实验五:数据库的建立和维护一、实验目的(1)认识SQL SERVER2005数据库管理系统,熟悉它的使用界面;(2)熟练掌握使用可视化方法及利用SQL语句建立数据库、修改数据库属性、更改数据库名称及删除数据库的操作。

二、实验内容在SQL SERVER2005中使用可视化方法及利用SQL语句建立数据库、修改数据库属性、更改数据库名称及删除数据库。

三、实验步骤:在SQLSERVER中用SQL SERVER2005 Management Studio新建数据库:1建立xsgl数据库:1)用可视化方法创建数据库:①启动SQL Server2005Management Studio,界面如下:SQL Server2005企业管理器界面②选择树形菜单数据库,点击鼠标右键,出现如下弹出式菜单,选择新建数据库③在图中,按图分别设置数据库xsgl的属性,点击确定按钮,完成了数据库的创建。

数据库名称属性设置图6 数据库数据文件和日志文件属性设置选择确定按钮,则创建xsgl数据库。

2)用SQL语句建立数据库xsgl单击常用工具栏的按钮“新建查询”,就可以建立一个数据库引擎查询文档,利用代码在其中创建数据库:2查看和修改数据库属性1)使用可视化方法:①启动SQL Server2005Management Studio,右击指定的数据库,选择“数据库属性”对话框。

②在该对话框中选择“文件”项,就可以对数据库文件进行修改。

可以增加数据文件,也可以删除数据文件,还可以修改数据库文件的逻辑名称、大小和增长率。

但不能修改数据库文件的类型、所在的文件组、路径及文件名。

2)使用SQL语句修改数据库属性。

①增加数据文件。

在数据库引擎文档中输入代码:②增加日志文件。

在数据库引擎文档中输入代码:③修改数据库文件,修改数据库“XSGL”中的日志文件的初始大小和最大值,代码:④删除数据文件,删除数据库中的xs_log日志文件,代码:3更改数据库名称1)可视化方法选中需要改名的数据库,右击选择“重命名”即可。

数据库实验五

《Oracle数据库系统》
题目数据库的启动和关闭
班级2015级网络1班
学号201520207058
姓名聂鑫鑫
指导教师王俊军
内蒙古工业大学数据科学与应用学院网络工程系
2018年4月
实验五数据库的启动和关闭
一、实验目的
1.理解数据启动过程;
2.理解数据关闭过程;
3.理解oracle启动的模式:nomount、mount、open之间的差异;
4.掌握各启动模式的启动方法和各模式间的切换;
5.掌握各种关闭方法,理解各方法的区别;
6.实际操作各种启动和关闭方法,以及总结各方法之间的区别。

二、实验内容
1.理解三种模式nomount、mount、open的启动原理,以及分别测试其启动方法;
2.测试各模式之间切换方法;
3.理解各种关闭方法的原理;
4.测试各种关闭数据库的方法,并总结差异。

三.实验步骤
1.启动监听
2.SQL plus连接数据库
3.启动数据库(nomount)
启动数据库(mount)
启动数据库(open)
4.关闭数据库(normal)
关闭数据库(immediate)
关闭数据库(abort)
5.总结
四.实验总结
通过本次实验,我理解了数据库启动与关闭过程的各个阶段。

通过具体操作,理解了不同的启动和关闭命令参
数的含义和其区别。

对Oracle数据库有了新的认识。

实验五 数据库系统设计

《计算机软件技术基础》实验报告 1 实验五数据库系统设计(上机时间6课时) 班级:通信1411 学号:141003410114姓名:李楠 合作成员刘蕾 1. 实验目的:理要求学生掌握数据库设计的基本技术。熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解。 2. 实验内容: 学生可根据自己熟悉的信息自选一个小型的数据库应用项目,进行系统分析和数据库设计。例如选择选修课管理系统、学生住宿管理系统、图书管理系统、材料管理系统或仓库管理系统等。 3. 实验要求:  要求起草数据库设计的关键步骤内容,至少包括:  需求分析:分析用户种类及各自的功能要求;涉及主要数据实体及内容。系统设计的任务及主要目标等。  完成实体建模并画出E-R图  起草数据字典  描述将关系表规范化至第三范式3NF的过程  构建并描述实体与实体关系  查阅有关书籍,熟悉MS SQL Server 2005,运用Microsoft SQL Server Management Studio Express在MS SQL Server 2005上创建数据库。  运用Microsoft SQL Server Management Studio Express在MS SQL Server 2005上创建数据库基本表,得到SQL脚本源码。(可以编写SQL DDL语句脚本源码,然后执行脚本创建基本表;也可以在Studio中可视化创建基本表然后导出SQL脚本)。SQL脚本源码以文件名EXP5-1.sql存储上传。  运用Microsoft SQL Server Management Studio Express在编写SQL脚本,实现需求分析中各种用户需要的数据库记录添加、记录修改、记录查询功能并将SQL脚本源码以文件名EXP5-2.sql存储上传。将相应操作结果以文件名EXP5-3.txt存储上传。  允许有2人以内的小组合作,组与组之间数据字典、表名、属性名完全雷同视同抄袭;同学之间实验运行结果完全雷同视同抄袭。 4. 实验报告内容: 1.需求分析过程 流程:学生到学生选课系统进行选修课程,查看选修课程的课程信息,选课的老师信息,以及所选的课程号。如果学生要选某个课程,则要查询这门课程的教学老师以及它是否已经被选满;如果学生要查询所选课程的选课成绩,则要查询这门的教学老师;如果学生需要重新选课,则要求先退选所选的课程。 功能:实现学生的选课,重新退订选课,查询课程成绩。 2.E-R图 《计算机软件技术基础》实验报告

实验五 数据库及表的管理实验要求

实验五 数据库及表的管理实验要求 1. 创建表 创建一个新表emp1,在表中定义两个字段empno和ename,数据类型位NUMBER(5)和varchar2(10)其中empno为主键。设置该表在USER表空间中创建,它的块管理参数设置为PCTFREE 10,然后通过表的数据字典视图查看创建的情况 (1) 创建表 SQL>CREATE TABLE emp1( empno NUMBER(5) PRIMARY KEY, ename VARCHAR2(10)) tablespace users pctfree 10;

表已创建。

(2) 通过查询user_tables视图,确认表的创建。 SQL>select tablespace_name,pct_free from user_tables where table_name=’EMP1’; 写出查询结果

2.更改表 在创建表的基础上,在表中添加一个字段age,字段的数据类型为NUMBER(3),然后修改PCTFREE参数为20 。通过数据字典查看修改后的参数情况。 (1) 添加字段age SQL>ALTER TABLE emp1 ADD( age NUMBER(3));

(2)查询user_tab_columns视图,确认字段已经被添加到emp1表中。 SQL>select column_name,data_type,data_default,data_length from user_tab_columns where table_name=’EMP1’; 写出查询结果 (3) 修改emp1表中的数据块空间管理参数PCTFREE。 SQL> ALTER TABLE emp1 PCTFREE 20;

3.创建索引 (1) 创建表 SQL>CREATE TABLE dept( deptno NUMBER(4) PRIMARY KEY, dname VARCHAR2(14), loc VARCHAR2(13));

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

南昌航空大学实验报告 2018年 6月 1 日 课程名称: 数据库原理 实验名称: 数据库应用系统设计与开发 学号: 16206127 姓名: 周良 指导教师评定: 签名: 一、实验目的: 1. 通过实验进一步学习和掌握数据库原理的基础知识和理论。 2. 学习SQL Server数据库管理系统的基本功能和建立数据库各种对象的方法。 3. 熟练掌握和使用SQL语言操纵数据库。 4. 理解和掌握利用数据库所学的理论知识来设计数据库的基本方法和步骤。 5. 通过上机操作和调试程序,提高学生理论联系实际和动手操作能力。 6. 通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步理解和掌握教材中的相关内容。

二、实验内容及步骤: 一个简单的图书管理系统包括图书馆内书籍信息、学校在校学生的信息以及学生的借阅信息。此系统功能分为面向学生和面向管理员两部分,其中面向学生部分可以进行查询和续借书籍等操作,面向管理员部分可以完成书籍和学生的增加、删除和修改以及对学生借阅、归还的确认。

1、需求分析: 学生操作流程如图:

登录

预定书籍

注销 续借书籍

查询书籍 管理员 管理员可以完成书籍和学生的增加、删除和修改以及对学生借阅、续借、归还的确认,其操作流程如图:

2、概念模型设计: 数据库需要表达的信息有以下几种:  图书信息 其数据项有图书编号、图书名称、作者、出版社等  学生信息 其数据项有学生学号、学生姓名、电话等  管理员信息  图书借阅登记,其数据项有借阅序号、借阅图书编号、借阅人编号等。 为了实现图书信息录入的方便性与规范性以及相关的统计功能,还应增加出版社信息与图书分类信息:  出版社信息,其数据项有出版社编号、出版社名称、地址、电话、传真等。  图书分类信息,其数据项有分类编号、分类名称、同一类型图书数目。 同时针对于本系统的多用户使用特点,增加用户信息表:  用户信息表,其数据项有用户名、密码、用户权限 为了实现图书借阅超期罚款制度,还应增设罚金规则表:  罚金规则表,其数据项包括免费使用天数、罚金费率、规则启用开关。 学生借阅归还图书信息 模型的E--R图如图示

登录 书籍信息维护 学生信息维护 借阅图书确认 归还图书确认

注销 3、逻辑设计: 通过ER模型到关系模型的转化,可以得到如下关系模式:

姓名 学号 性别

学生

预订 续借 借阅 归还 图书

作者 语种 出版社 出版年

管理员

编号 姓名

书号 书名 Book(BookID,Title,Author,Publisher,Pyear,Language) Student(ID,Name,Dept) Assistent(ID,Name) Bbook(BookID,StdID,BDate) Rbook(BookID,StdID,RDate) Lend(StdID,AstID,BookID,LDate) Return(SdID,AstID,BookID,RDate) 说明 (1)书号是图书的键码,每本书有唯一的书号,一个学生可同时借阅多本书,一个管理员可处理多个同学的借阅等事宜。 (2)一般情况下,学生、管理员和图书之间的联系为1:1:n,借书关系Lend作为连接关系,其键码为n端实体集的键码,即书号作为借书关系的键码。这反映了如果还书时也把当出的借书记录删除,则书号就能唯一识别一个元组。 如果还书时不同时删除借书记录,则意味着同一本书前后可借给不同的学生于是学生、管理员和图书之间的联系变为m:1:n,这时借书关系的键码为书号和学生的组合。 如果在不删除借书记录的情况下,同一学生再次借同一本书,这时,学生、管理员和图书之间的联系变为m:p:n,于是,借书关系键码为书号、学号和管理员号的组合。但其中包含隐含信息,即同一学生前后两次借同一本书所遇到的管理员不同,而这种不同可能仅仅是“日期”不同。因此,借书日期成了必不可少的成分,也就是说,在这种情况下,属性全集才是借书关系的键码。 (3)要知道图书当前的状态,是在图书馆存放还是被借阅等,需要在Book的模式中增加对应项用以表示图书当前状态。比如我们增加state,并约定取值和状态的对应关系如下:  在图书馆中并且没有被预订  在图书馆中并且已被预订  被借出并且没有被预订  被借出并且已被预订 4、物理设计 为了提高在表中搜索远元祖的速度,在实际实现的时候应该基于键码建立索引。下面是各表中建立索引的表项: Book(bookID) Student(ID) 三、数据库表的建立及操作 1、表的建立 1) 建立book表 CREATE TABLE Book( BookID varchar(20) PRIMARY KEY, Tille varchar(50) NOT NULL, Author varchar(50), Publisher varchar(50), Pyear char(4), Language char(1), DEFAULT’c’, State char(1) DEFAULT’0’ ); 2) 建立student表 CREATE TABLE Student( ID char(6) PRIMARY KEY, Name varchar(20) NOT NULL, Dept varchar(20) NOT NULL );

3)、建立assistent表 CREATE TABLE assistent( ID char(6) PRIMARY KEY, Name varchar(20) NOT NULL, );

4)、建立BBook表 CREATE TABLE BBook( BID varchar(20) NOT NULL, StdID char(6) NOT NULL, Bdate datetime NOT NULL, CONSTRAINT FK_BBOOK_BID FOREIGN KEY(BID) REFERENCES Book(BookID), CONSTRAINT FK_BBOOK_StdBID FOREIGN KEY(StdBID) REFERENCES Student(ID), );

5)、建立RBook表 CREATE TABLE RBook( BookID varchar(20) NOT NULL, StdID char(6) NOT NULL, RDate datetime NOT NULL, CONSTRAINT FK_RBOOK_BookID FOREIGN KEY(BookID) REFERENCES Book(BookID), CONSTRAINT FK_RBOOK_StdBID FOREIGN KEY(StdID) REFERENCES Student(ID) );

6)、建立lend表 CREATE TABLE Lend( StdID char(6) NOT NULL, AstID char(6) NOT NULL, BookID varchar(20) NOT NULL, LDate datetime NOT NULL, CONSTRAINT FK_LEND_StdID FOREIGN KEY(StdID) REFERENCES Student(ID), CONSTRAINT FK_LEND_AstID FOREIGN KEY(AstID) REFERENCES Assistent(ID) CONSTRAINT FK_LEND_BookID FOREIGN KEY(BookID) REFERENCES Book(BookID) );

7)、建立Return表 CREATE TABLE return( StdID char(6) NOT NULL, AstID char(6) NOT NULL, BookID varchar(20) NOT NULL, LDate datetime NOT NULL, CONSTRAINT FK_RETURN_StdID FOREIGN KEY(StdID) REFERENCES Student(ID), CONSTRAINT FK_RETURN_AstID FOREIGN KEY(AstID) REFERENCES Assistent(ID) CONSTRAINT FK_RETURN_BookID FOREIGN KEY(BookID) REFERENCES Book(BookID) );

2、管理员操作

相关文档
最新文档