实验内容、步骤以及结果1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。
(18分,每小题3分)(1) 非空约束:为出生日期添加非空约束。
非空约束:取消表S中sbirth的勾。
可能需要重建表。
(2) 主键约束:将学号(sno)设置为主键,主键名为pk_sno。
设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择修改命令-->对话框中右击sno-->选择设置主键'>修改主键名为pk_sno '-->保存(3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname 。
唯一约束:单击数据库Student-->单击表--> 单击S-->右击sname-->选择修改’ 命令T右击sname-->选择索引和键命令--> 打开索引和键框图--> 添加--> 是否唯一改为是--> 名称改为us sname '-->关闭。
(4)缺省约束:为性别(ssex)添加默认值,其值为男设默认约束:单击数据库Student宀单击表宀单击右击sno^选择修改命令宀单击cno-->在默认值栏输入男’保存D62.s1udent - Diagram_0* D62.sludent - dbo.S* SQLQuery5.sql - D... (D62\A^m i n (52J)*列容 埶据类型 允祥值Q 5TI0Ctiar(lO) n snamenvarchar (20) a 卜:S5SXnchai ■⑵ 團sbirttidate□ adeptnv ar char (20)sPhoneNoctiar(LQ)@]数捐类型 允傑Mdl 值 曰表设计器RowGuid E 标识魁不用于复制 大小(5) CHECK 约束:为SC 表的成绩(grade)添加CHECK 约束,约束名为ck grade ,其检查条件为:成绩应该在0-100之间。
ffin har 妊2 Nnrh昙否否否二CHEC<^□ c^a)([cgradep =(C) AND [cgrade]^ =(l(X)t)[^ E怖氓儈翻ck_gradc说明E者设计器强制弭于INSERT UPDATE昱睜制馬于复制昙在鱼建或呈萨吕托时哙宜盂厨呈⑹外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表和C表,外键名称分别为fk_sno , fk_cno。
RIW T fl x2 (SQL:Semr 10uCk55CK)亠Dti^XAdmini) 芯至哇| ftepnrt 灵EWTj Report Server f empDfi|J studerrt"丄JSfiJTX«E-j ">H LJ琢齐国□ dlHbC*1 3 dboiSQ 3 dboiSC国ZJ fiH «f PK_SC_9(^C«JJ05:f氐EO总A m 土匸s N粧i ^«CT HS=Lt >疽ir _j 宙・'i3IF J可京詰1+ _J. Service Emlw-r [T N盂全性远走的CHE匚K钓克[S[;tk_gradeEE^^lW CHECK 釣荒£厘性*舌达式D«.f1yd«nt ・dbo.K n ①好站fJ" - D 心込皿in 泊• % tiaras「丁JJH=J»声日4w(ioj n™dw(LO]2.在图形用户界面中删除以上小题中已经创建的各种约束 ,用SQL 语言分别重新创建第 1 题中的(2)-(6)小题.(15 分,每小题 3 分,提示:alter table add constraint)删除约束:单击数据库Student-->表--> 单击S-->展开键、约束。
一一删除即可。
用SQL语句新建约束iis-ssAE'IrJ-iM*削总・f P*_54_咒丸05打-计■■鼻h&■ TMEiV ^SEar* QI *3tHrjiftJ •组®岫丄丄J 盘 出JjWa ■巧即血□ dbc^L・丄■冃=n dbo.sc匸・U5E [student;GOE) ALTER TABLE 5-ADD CONSTEtAINT 口k_sna PRIMLY KEY sue);ALTER TAELE S-ALTER. COLUMN sname nvarchar 20: null;占ALTER 17YBLE 5-ADD CCN5TRAINT us_5nair.e unique (anar.e;;i ALTER TAELE SADD CONSTRAINT df ssex default '男'FOR ssex;百ALTER TABLE £亡-ADD CONSTRA工NT ck_arade 二HECK i I corrade] >= i 0 AND [carade] <= (100 s ]: \- ALTERTABLE ECADD CCNSTRAINT fk sno FOREIGN KEY sna ■ REFERENCES S isno *CCN5TRAINT fk eno FOREIGN KEY UG•口REFERENCES C * eno);3. 利用图形用户界面根据上述SC表中的外键定义画出由S,C,SC表构成的数据库关系图(5分,提示:选中student -> 数据关系图)4. 用SQL语言删除S表中所创建的缺省约束和外键约束。
(6分,每小题3分)曰 iLLTER TAELE 5I-DROP CONSTRAINT df ssex ;□ ALTER TA3LE SCDR0F GOrrSTRAlNTf GQ^SIRAJ^T flc saG;心消息命令已咸功弼妇5. 在图形用户界面中创建新登录名以及用户 。
(16分)(1)根据第五版教材第四章 第7题,创建数据库company 和其中的基本表,并创建该题中所需要用到的各个用户以及相关的登录名。
(10分)创建数据库创建登录名出 LZC-L4=TCP (SQL 弘w 10 0 L600 • lir -LAPTCP\lrt)tl _i 茎M 凉垄 4J _J 進5集 E U 田u e Q 回li e R.eport&erverRep o-nSe rve^-Temp DB5tudert J fit 砂也匿 J s4 — setsU H dbn 離二 t-l 3l dbo.3?nMFKn^-mrfic)tl□ns 呱 10) i nmanc 13*( 10 龟活号科 ncii^lCOLZC - LAPTOPxompany - dbo.nfl'J pany - dkw创建数据库用户(2)用图形用户界面完成以下的权限赋予:(每小题3分)a)用户王明对两个表均有Select和Insert的权力。
王朗的权険:列取阳显式肯厂b)用户李勇对职工表具有Select权力,对工资字段具有更新权力李里的权眼B):列删艮Q,昱我有数具WF查看更冃踪E E o更戦dbo B E Fl |r—j 更新dlLo冋E0接管所育枳<3b?E E O性制Jby□□□删晾dJbo園E0 Idbo i厨 1 00 ■引用dLu0□06. 用SQL语句授权和收回权限并对权限加以验证三dtc[21(1)根据第五版教材第四章第7题。
(40分,每题20分)(1)根据第五版教材第四章第7题。
请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:(a)用户王明对两个表有(b)用户李勇对两个表有INSERT和DELETE权力。
E GRANT :IH5EST.r DELETE ON 职工TO ;—GRANT INSERT .DELETE GN 部门TO 皋弟;|_J消息命令已成功完成。
(c )每个职工只对自己的记录有SELECT权力。
□CREATE VIEW 个人信息5ELECI ” FROM职工- WHERE CURRENT^USER =姓名GOE GRANT SELECT ON 个人信息-TO PUBLIC;(d)用户刘星对职工表有SELECT权力,对工资字段具有更新权力B GRANT SELECT H UPDA7E 工资 ON 职工 L TO 刘星:GO(e )用户张新具有修改这两个表的结构的权力□ GRANT ALTERON 职工 "o 来新; GO曰 GRANT 4匚TER|ON 部门 —0张新;: GOEa 消息命令已成功完成。
(f )用户周平具有对两个表所有权力(读,插,改,删数据), 户授权的权力曰 GRANT ALL PRIVILEGES 卯职工 TO 周平-WITH SRAHT OFT 工ON ;A GRANT ALL PRIVILEGES 册部门 TO 周平L WIIH GRANT OPTION;IGOMrrr血消息ALL 赧限己福推荐使用,并且冥保留用于兼容性目弧它并不表示对体定义了皿叔限。
皿 叔限已不再推荐使用,并且只保留用于兼容性目的〜它并不表示对实体定义了 ALL 权限"H GRANT 日ELECI,INSERT. ALTEK,DELETE ON 职.工 TO 周平 -WITH GRANT OPTION;占 GRANT SELK CT ,.- IMS E RT. ATTE R ,r BE LE'TE CN 部门 T 。
周平1- WITH GRANT OPTION;广I內消息命令已成功主并具有给其他用(g )用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资F] CREATE VIEW 部门工资豪SE-ECT郃门.茗称八向工资)最高工资『円刑工资)最低工资屈苗工资、平均工资FROM职工,部门WHERE职工.部门号嘟门”部门号GROUP B¥部门-名称:GO□GRAKT SELECT ON 部门工资L T0杨兰;二消息命令已成功完成。
用户李勇希望查询部门表失败q ,0 LZC-LA-TOP :沁10.C.1-JO - 4 =+1丄垄痕KA住U Jtompany命Cl* Ui. J应邨二-J dib^JIZ书口¥ :■.-口”L I」^erw re- BraScrrT Ci Ff«用户李勇查询职工表成功▼ XSQLQueryl.sql - pany 带再(56))* pany - dbc.部门 E SELECT -L FROM 职工:□结累lj 消息取工号姓名年龄职务工资部门号LZC^LAPTO? (10,0 RTM)李W [56) company 00:00:000 行~^2mi(2)根据第五版教材第四章 第8题。