数据库实验报告3.docx
《数据库实验报告3.docx》由会员分享,可在线阅读,更多相关《数据库实验报告3.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JNU本科试验报告专用纸课程名称数据库上机试验 成果评定_试脸项目名称SQLServer平安性脸证指导老师试验项目编号()8060113 试验项目类型 验证性 试验地点C305 同学姓名 学号学院电气信息学院系 专业计算机科学与技术试验时间2022年11月30日下午 月 日午 温度_湿度(-)试验目的熟识通过SQL对数据进行完整性掌握,完成作业的上机练习。(-)试验内容和要求使用SQL对数据进行完整性掌握(3类完整性、CHECK短语、 CONSTRAIN子句、触发器)。用试验证明,当操作违反了完整性约束条件 时,系统是如何处理的。依据以下要求仔细填写试验报告,纪录全部的试验 用例。(三) 主要
2、仪器设施仪器:计算机试验环境:Windows? +SQL Server2022(四) 试验内容与完成状况1 .设计试验内容:依据试验二的平安性内容所建立的数据库company中的职工表a、部门表b, 创建以下两个关系模式,并分别插入相应的数据。职工表w (职工号,姓名,年龄,职务,工资,部门号)其中职工号为主码; 部门表b2(部门号,名称,经理名,地址,电话号码),其中部门号为主码;(1)使用SQL语言定义这两个关系模式,并完成以下完整性约束条件的定 义;(a)定义每个模式的主码;(b)定义参照完整性;(c)职工的姓名不能为空;(d)定义职工的年龄最小为18岁,50岁后退休(即不能超过50岁)
3、;(e)职工的工资不能为空,且不能小于1100 (2022年珠海最低工作限);(f)部门名称不能为空且不能重复,定义约束名为UK_dName;(2)使用SQL语言分别向两个表中插入7行纪录,验证上面的各种约束条 件;(3)将职工的年龄改为不能小于16岁,并且不能大于65岁;(4)定义一个表 tbI_Emp_Log(eNO, eSalary, Username, ModiDate);在职表上 定义修改和插入数据的触奖器,将插入的职工号和工资数据填入到Empjog表 中,并纪录操作的用户和插入时间;假如修改了职工的工资,也把职工号和修改 后的工资数据填入到Empog表中,并纪录操作的用户和插入时间
4、。使用SQL 语句向职工表中插入数据和修改工资,验证触发流的效果2 .试验步骤:1).在上次试验的数据库company中创建职工表w和部门表b2。SQLQueryLsql-ML.ing-PCMing (53)*|E create table w(职工号 varchar (10) primary key,姓名 char (10) not null,年龄intconstraint w_age check (年龄18 and 年龄50),职务 char (15) r工资 money not nullconstraint w_sa check(工资T100),部门号 char (50), foreig
5、n key (职工号)references w (职工号)L)nr曲消息命令已成功完成。create table w(职工号varchar (10) primary key, 一 (a)定义职工号为职工表的主码;姓名char(10) not null, (c)职工的姓名不能为空:年龄intconstraint w_age check (年龄18 and年龄50) , - (d)定义职工的年龄不能小于 18岁,并且不能超过50岁:职务 char (15),工资money not null- (e)职工的工资不能为空,且不能小于1100;constraint w_sa check (工资1100)
6、,部门号char (50), (b)定义参照完整性foreign key (职工号)references w (职工号)行(X) 二,胆r 眼。至襄隼率益兄 xSQLQueryLsq|-ML.ing-PCMing (53)* create table b2(部门号 char (10) primary key, 名称 char (10) not nullconstraint UK_dName unique,经理名char (10),地址 char (50), 电话 char (15 Hforeign key (部门号)references b2 (部门号)nr=J消息命令已成功完成。create
7、 table b2(部门号char(10) primary key, -定义部门号为部门表的主码;(f)部门名称不能为空且不能重复,定义约束名为UK_dName; 名称 char(10)not nullconstraint UK_dName unique, 经理名char (10), 地址 char (50),电话char (15), (b)定义参照完整性foreign key (部门号)references b2(部门号) )2)使用SQL语言分别向两个表中插入行纪录,验证各种约束条件;SQLQueryl.sql - MI.ing-PCMing (53)*a)验证部门名称不能为空且不能重复,
8、定义约束名为UK_dName;日 insert inserc insert insert日 insert inserc insert insertinto b2 values ( a001,J 市场部门,,,周杰伦,3 北工不 ;);into 焜 values(,a002,誉错部门戴一北工,); into b2 values (a003营箱部门,李一,北工,);into b2 values (a003,null, ,:FT insert into w values (aOOlOOl周密,20,市场营销员,2000,a001); insert into w values (,a001002-古龙
9、,29,,帝扬营销员 12000,,aOOlin1行受影响)1行受影响1行受影响消息2627,级别14状态1,第3行连反了 UNIQUE KEY约亲UK_dNameo不能在对象dbo.b2中插入重复键。语句已终止。消息515,级别16,状态2,第4行丕能将值NUIX插入列名称,,表,conpany.dbo.b2 语句已终止。歹坏允许有Null值。INSERT失败。1行受影响.1行受影响)如图可见,被提示违反约束,终止语句。b)验证职工的工资不能为空,且不能小于1100;-, 表dbo.w, column 工资o 语句已终止。C)验证职工的姓名不能为空;:中回;1 F |陶醺QJ |三 三|年年
10、|为产SQLQueryLsqH ML.ing-PCMing (53)*|insert into 以 values (-002003null, 323经理,,5000, a002,);曲消息消息515,纵别16,状杰2,第1行不能将值NULL插入列,姓名,表,company.dbo.w;列不允许有Null值。INSERT失败。 语句泌止。d)验证职工的年龄不能小于岁,并且不能超过岁;SQLQueryLsql - ML-ing-PCMing (53)- 1(3 insert into yt values ( a001003 ,,周杰伦,6,经理,500。, aOOl ):L insert into
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告
限制150内