REVOKE <权限>[,<权限>]... [ON <对象类型> <对象名>] FROM <用户>[,<用户>]...
例如:收回用户HappyTomer对表Student的数据项SName、SSex、Sage的修改权限。 REVOKE UPDATE ON Student(SName,SSex,Sage) FROM HappyTomer
12.在西京大学教务管理系统中,如果需要添加教师信息,而且在安排教师讲授课程时,需要给出教学效果(一般、中等、良好、优秀)。那么应该如何重新设计该数据库。
参考E-R图如下:
13.已知蓝天电器需要设计产品销售数据库,数据要求包括:连锁店的基本信息(店号、店名、店址和电话等)和商品的基本信息(品号、品称和单价等)。连锁店销售商品时,需要记录销售数量和销售日期。请设计满足上述要求的数据库,并分别使用对象资源管理器和查询分析器建立该数据库,数据库的数据根据需要自定。
销售数据库ComInfo及其商店表、商品表和销售表设计如下: (1)商店表
店号:字符型,6位,主键,非空,取值={0,?,9,S},S字母开头,其它为数字。 店名:字符型,22位,非空。 店址:字符型,36位。
电话:字符型,12位,取值={0,?,9}。 (2)商品表
品号:字符型,6位,主键,非空,取值={0,?,9,P},P字母开头,其它为数字。 品名:字符型,22位,非空。 厂商:字符型,22位,非空。 厂址:字符型36,非空。 单价:实数,9位(2位小数)。 数量:整型,6位。 (3)联系属性
销售额:实数,12位(2位小数)。 职务补:实数,9位(2位小数)。
课程号 课程名 学时 学分 教材 教学效果 成绩 姓名 性别 年龄 职称 授课 工号 专业 时间地点 专业 学号 姓名 教师 指导 学生Stud性别 年龄 课程 选课 籍贯
3
聘期:实数,3位(1位小数)。工资:实数,9位(2位小数)。
经理:字符型,6位,非空,取值={0,?,9,A,?,Z},大写字母开头,其它为数字。 (4)商品销售E-R图如图3.2所示。
品号 数量 品名 厂商 厂地 单价 销售 商店 商品 店号 店名 销售额 店址 电话 图3.2 商店销售E-R图
(5)商品销售的关系模型如下:
商品(品号,品名,厂商,厂址,单价,数量) 商店(店号,店名,店址,电话)
职工(工号,姓名,性别,年龄,电话,店号,工资,聘期,职务补,经理) 销售(店号,品号,销售额)
(6)利用SSMS的对象资源管理器创建数据库 1)使用对象资源管理器编辑数据库 ①在如图1所示的界面中,右击:“数据库”(如图2所示),然后选择:“新建数据库(N)?”(如图3所示)。
图1 SQL Server 管理工作室 图2 对象资源管理器建立数据库
②在“数据库名称(N):”右侧输入数据库的名称:ComInfo,则在“数据库文件(F):”的下方给出了数据库文件和相应日志文件的逻辑名称依次:ComInfo.MDF和ComInfo_log.LDF,其默认存储位置为:C:\\Program Files\\Microsoft SQL Server \\ MSSQL10. MSSQLSERVER\\MSSQL\\DATA;如果需要指定数据库的存储位置,可以单击“路径”右侧的“?”进行选择。其它属性,也可以根据需要进行设置。最后单击“确定”。
③在如图1所示的SSMS界面中,右击需要编辑的数据库(例如:ComInfo),然后选择“重
4
命名”、“删除”、“刷新”和“属性”等进行相应的编辑。具体用法如下:
◆ 选择“重命名”:修改数据库的名称。选择“属性”:查看数据库的基本属性。 ◆ 选择“删除”:可以删除数据库,方法是在弹出的窗口中单击“确定”。
◆ 选择“刷新”:可以刷新SSMS,即在SSMS上重新刷新对数据库和数据表的修改。
图3 新建数据库
2)使用对象资源管理器编辑数据表结构
① 在如图1所示的SSMS中,展开数据库ComInfo,右击:“表”(如图4所示),然后选择:“新建表(N)?”(如图5所示)。
图4 管理工作室的新建数据表GUI 图5 新建表
②如图5所示,在“表-dbo.Table_1”标签的下方依次输入设计好的数据项的名称以及相应属性。具体输入方法如下:
◆ 列名下方:输入数据项的名称。如:工号,姓名,性别,年龄。
◆ 数据类型下方:选择相应的数据类型。如:Char(6),int等。对于字符型数据,还需要数据的宽度;对于decimal(18,0)类型数据,还需要数据的宽度和小数位数,其它类型的数据,只需按照相同的方法处理即可。
◆ 允许空下方:选择该数据是否允许为空值。
◆ 在任意行上,右击(如图3.27所示),选择“插入列(M)”,可以插入一个新数据项及其相应属性。选择“删除列(N)”,可以删除一个新数据项及其相应属性。
◆ 在任意行上,右击(如图5所示),选择“设置主键”,可以把该属性设置为主键;如果需要把多个数据项设置成组合主键,则只需先选择多行,然后做同样处理;如果取消主键,
5
只需在设置主键的行上,右击(参考图5),选择“移去主键(Y)”。
◆ 选择“CHECK约束(O)?”,可以设置该属性的自定义约束(如图3.28所示)。单击“添加(A)”或者“删除(D)”,添加默认自定义约束或者删除已定义约束;在“表达式”右侧直接填写自定义约束表达式,或者单击右侧的“...”,则弹出的窗口中(如图7所示)填写自定义约束表达式,然后单击“确定”,在图6中单击“关闭”。
图6 设置CHECK约束 图7 填写CHECK约束表达式
③如图5所示,单击工具栏的保存按钮,在弹出的“选择名称”窗口中输入:职工(如图8所示),单击“确定”。
图8 保存数据表
④使用同样的方法创建数据表:商店、商品和销售。在创建职工的过程中,参照约束和外键的创建方法如下:
◆在如图5所示的SSMS中,选择“关系”(如图9所示),单击“添加(A)”或者“删除(D)”,添加或者删除参照关系。本例单击“添加(A)”添加一个默认参照关系,然后选择“表和列规范”,并单击右侧“...”(如图10)。
◆在图10中,设置职工的外键店号及其对应的主键表商店和参照主键店号。具体方法:在“主键表(P):”下选择“商店”,并在商店的下方选择参照主键店号;然后在“外键表:”下方“职工”的下方选择外键“店号”(参照图10);单击确定。
◆在图10中,设置职工的自参照外键店号及其对应的主键表职工和参照主键工号。具体方法:在“主键表(P):”下选择“职工”,并在职工的下方选择参照主键工号;然后在“外键表:”下方“职工”的下方选择外键“经理”(参照图3.32);单击确定。
◆建立结果如图9所示,最后单击关闭。同理建立销售表中店号和品号两个外键的参照键束。
6
图9 设置外键关系 图10 设置外键属性
⑤在SSMS中,依次展开数据库和相应的数据表,在需要编辑的数据表上右击(如图11所示),然后选择“设计”、“重命名”和“删除”等对数据表进行相应的编辑。具体用法如下:
◆选择“设计”:可以修改数据表的数据项的属性,方法同上。 ◆选择“重命名”:可以修改数据表的名称。
◆选择“删除”:可以删除数据表,方法是在弹出的窗口中单击“确定”。 3)使用对象资源管理器编辑数据表记录
在如图11所示的SSMS中,依次展开数据库和相应的数据表,在需要编辑的数据表上右击,然后选择“编辑前200行(E)”(如图12所示),编辑表记录的方法如下:
图11 编辑数据表 图12 编辑数据表记录
①修改数据表内容:在数据表设计器中,可以直接对表的内容进行修改。
②向数据表添加新内容:在数据表设计器中,当编辑最后一个元组的数据时,生成器会在其下方自动添加一个新元组行,因此可以通过该新行添加新元组及其内容。
③删除数据表的元组:在要删除元组的所在行上,右击,然后选择“删除”,在弹出的对话窗口中选择“是(Y)”进行删除,或者“否(N)”取消删除。
(7)利用SSMS的查询编辑器创建数据库
在SSMS界面中,单击工具栏的“新建查询(N)”,启动查询编辑器如图13所示,然后直接使用Transact-SQL语句创建数据库、数据表和视图等。具体方法如下:
7