SQL Server与数据库课件_第1页
SQL Server与数据库课件_第2页
SQL Server与数据库课件_第3页
SQL Server与数据库课件_第4页
SQL Server与数据库课件_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,数据库原理 Database Principles,College of Computer Science and Information Engineering Zhejiang Gongshang University,Happy You,1,学习交流PPT,第2章 SQL Server与数据库,西京大学开发教务管理系统,需要设计学生选课数据库,数据要求: 学生信息(学号、姓名、性别等) 课程信息(课程号、课程、学分等),学生通过选课可以得到成绩 如何设计数据库: 数据库包含几个表;每个表有哪些数据项(属性)组成; 如何设置表的约束条件(实体、参照和用户定义完整性约束等); 使用什么工具

2、建立数据库。 SQL Server是微软研发的符合国际标准SQL(Structured Query Language,结构化查询语言)的专业级数据库管理系统,提供ODBC(Open Database Connectivity,开放数据库互连)接口,管理功能相当完善,通过简单操作就可以非常安全稳定的进行数据库管理。市场占有率,主流数据库管理工具,最新产品:SQL Server 2008 本章使用SQL Server 2005介绍数据库及其数据表的设计与创建过程,2,学习交流PPT,2.1 如何创建数据库和表,2.1.1 SQL Server概述 提供功能强大管理工作室,使DB管理方便、快捷、安全

3、、稳定、高效 特点: 综合统一: DDL、DML和DCL,风格统一,独立完成DB理 语法简单,易学易用:功能极强。核心功能仅使用了9个动词(Create、Select、Drop、Alter、Insert、Update、Delete、Grant和Revoke等)。 面向集合操作:SQL 全面采用集合操作方式。其查找、插入、修改和删除等操作的操作对象均是集合 高度非过程化 一语两用:SQL 既是自含式语言,又是嵌入式语言。作为自含式语言,用户可以直接输入SQL命令,以联机交互的方式独立的管理和使用数据库。作为嵌入式语言,SQL语句能够嵌入到高级语言,3,学习交流PPT,SQL Server 管理工

4、作室,管理工作室(SQL Server Management Studio,SSMS)提供了用于数据库管理的图形工具和功能丰富的开发环境 特点:SQL Server 2000 企业管理器、Analysis Manager 和 查询分析器等功能集成于一身。 功能:创建数据库、表和视图,可以编写 MDX、XMLA 和 XML 语句 启动方法: 开始程序Microsoft SQL Server 2005SQL Server Management Studio。 主工作区: 主要由对象资源管理器(图2-1的左侧)和多文档浏览与编辑区(查询分析器 + 表结构设计器 + 表记录编辑器 + 信息浏览等,图2

5、-1的右侧)等组成。 本章重点:语句用法;具体操作在实验中进行。,4,学习交流PPT,5,学习交流PPT,2.1.2 数据库及其表的设计,数据库设计需要考虑的问题: (1)需要设计几个数据库。 (2)每一个数据库包含几个表。 (3)每一个表包含几个数据项。 (4)每一个数据项的类型、宽度和约束条件等。 (5)数据项之间的依赖关系。 对于西京大学的教务管理系统,应该采用什么方案?,6,学习交流PPT,方案一、单库单表:,(1)设计1个数据库StudentDB。 (2)StudentDB包含1个表SCInfo(别名:SCI)。 (3)SCInfo包含:学号、姓名、性别、年龄、学院、课程号、课程名、

6、先修课、学分和成绩等数据项。 (4)每一个数据项的类型、宽度和约束条件。,7,学习交流PPT,方案一、单库单表:,约束条件: 学号SNo:字符型;10位(年4位+学院2位+班级2位+序号2位);不同的学生,学号不能相同;不能为空等。 姓名SName:字符型;20位;不能为空等。 性别SSex:字符型;2位;只能是男和女等。 年龄Sage:单字节整型;3位(0255);年龄必须大于1岁,小于100等。 学院Coll:字符型;40位等。 课程号CNo:字符型;6位(学院2位+专业2位+序号2位);不同的课程,课程号不能相同;不能为空等。 课程名CName:字符型;40位;不能为空等。 先修课CPN

7、o:字符型;6位(学院2位+专业2位+序号2位);无先修课的省略不填等。 学分Credit:单字节整型;固定为1个字节(09)等。 成绩Grade:浮点型;固定8个字节,成绩必须大于等于0分,小于等于100,8,学习交流PPT,方案一、单库单表:,(5)数据项之间的依赖关系: 学生选修的课程必须是课程表中开设的课程;选课的学生必须是学生表中的学生;先修课必须是课程表中的课程号等。 最终表结构: SCInfo(学号,姓名,性别,年龄,学院,课程号,课程名,先修课,学分,成绩) 表2-1是与上述学生选课信息表对应的一个实例。,9,学习交流PPT,方案二、单库多表(3表),(1)设计1个数据库Stu

8、dentDB。 (2)设计3个表Student(别名:S)、Course(别名:C)和StudentCourse(别名:SC)。 (3)3个表的数据项: Student:学号、姓名、性别、年龄、学院。 Course:课程号、课程名、先修课、学分。 StudentCourse:学号、课程号和成绩。 (4)每一个数据项的类型、宽度和约束条件;数据项之间的依赖关系与方案一相同。最终表结构: Student(学号,姓名,性别,年龄,学院) Course(课程号,课程名,先修课,学分) StudentCourse(学号,课程号,成绩),10,学习交流PPT,方案二、单库多表(3表),表2-2、表2-3和

9、表2-4是对应的一个实例。,11,学习交流PPT,方案二、单库多表(3表),不难看出,方案二多方面优于方案一,因此选择方案二建立数据库 思考:为什么方案二优于方案一?请从多个方面进行详细分析。 提示:从数据冗余、插入异常、修改异常、删除异常等方面分析。 结论:针对具体应用系统,在设计数据库时,需要合理确定使用数据库的个数以及每一个数据库包含表的个数,然后规范设计每一个表包含的属性的个数以及每一个属性的特征要求、约束条件和依赖关系等,最终设计出一个合理的最佳方案。,12,学习交流PPT,2.1.3 数据库及其表的建立,1. 创建数据库 对象资源管理器 查询分析器,外模式,Student.MDF

10、Student.LDF,模式,内模式,13,学习交流PPT,14,学习交流PPT,(1)使用对象资源管理器创建数据库,图2-1的GUI,右击“数据库”,选择“新建数据库(N)”,图2-2中,在“数据库名称(N):”右侧输入DB的名称:StudentDB, 则在“数据库文件(F):”的下方自动给出DB文件和相应日志文件的逻辑名称依次:StudentDB.MDF和StudentDB_log.LDF,默认存储位置为: C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATA 如果需要指定DB的存储位置,可以单击“路径”右侧的“”进行选择。其他属性,也可以

11、根据需要进行设置。最后单击“确定”完成创建数据库。 在图2-1中,展开数据库,在需要编辑的数据库上右击,然后选择“重命名”、“删除”、“刷新”和“属性”等对数据库进行相应的编辑。即: 1)选择“重命名”:可以修改数据库的名称。 2)选择“删除”:删除数据库,方法是在弹出的窗口中单击“确定”。 3)选择“刷新”:可以刷新SSMS ,使修改显示在SSMS的界面上。 4)选择“属性”:可以查看和修改数据库的基本属性。 注意:删除数据库时,将删除该数据库的所有数据表。,15,学习交流PPT,(2)使用查询分析器创建数据库,在图2-1中,单击工具栏的“新建查询(N)”,启动查询分析器,在图2-3中,利用

12、查询分析器,创建数据库、数据表和视图等。即: 1)在查询分析器中,直接输入SQL语句。 2)单击语句语法分析按钮“”,检查分析SQL语句是否正确。 3)单击执行按钮“!执行(X)”,运行查询分析器中的语句序列。 创建数据库:CREATE DATABASE 创建数据库StudentDB:CREATE DATABASE StudentDB 删除:DROP DATABASE , 删除StudentDB:DROP DATABASE StudentDB 提示:查询分析器中的语句序列,可以保存为查询文件(*.sql),以备后用。,16,学习交流PPT,2. 创建表,SQL Server 2005的常用数据

13、类型,创建方法 对象资源管理器 查询分析器,17,学习交流PPT,2. 创建表,方案二:三个表的数据项及其属性如下: 学号(SNo):CHAR(10);主码;非空。 姓名(SName):CHAR(20);非空。 性别(SSex):CHAR(2)。 年龄(Sage):TINYINT;约束:1到99岁。 学院(Coll):CHAR(40)。 课程号(CNo):CHAR(6);主码;非空。 课程名(CName):CHAR(40);非空。 先修课(CPNo):CHAR(6)。 学分(Credit):INT。 成绩(Grade):FLOAT;约束:0到100分。,18,学习交流PPT,2. 创建表,方案

14、二: 表Course的外码: 外码CPNo,参照表Course(主键表),参照码CNo(参照主码) 表StudentCourse的组合主码:(SNo, CNo) 表StudentCourse的外码: 外码SNo,参照表Student(主键表),参照码Sno(参照主码) 外码CNo,参照表Course(主键表),参照码CNo(参照主码),19,学习交流PPT,20,学习交流PPT,(1)使用对象资源管理器创建表,在图2-1中,展开数据库StudentDB,右击“表”,选择“新建数据表(N)”,在右侧编辑区的“表-dbo.Table_1”的下方依次输入表Student的数据项及其相应属性。即: 1

15、)列名下方:输入数据项的名称。如:SNo,SName,SSex,Sage,Coll。 2)数据类型下方:选择相应的数据类型。如:char(10),int等。 3)允许空下方:选择该数据是否允许为空值。 4)在任意行上,右击(图2-1),选择“插入列(M)”,插入新数据项及其属性;选择“删除列(N)”,删除数据项;选择“设置主键”,把该属性设置成为主码,把多个数据项设置成组合主码,则只需先选择多行;取消主码,只需在设置主键的行上,右击,选择“移去主键Y”。 5)在任意行上,右击(图2-1),选择“CHECK约束(O)”,设置该属性的用户定义约束(图2-4)。首先单击“添加(A)”或“删除(D)”

16、,添加约束或者删除已有约束,然后在“表达式”右侧直接填写自定义约束表达式,或单击右侧的“.”,则弹出的窗口中填写用户定义约束表达式。然后在图2-4中单击“关闭”,21,学习交流PPT,(1)使用对象资源管理器创建表,6)在图2-1中,单击工具栏的保存按钮,在弹出的“选择名称”窗口中输入:Student,然后单击“确定”完成创建表Student。 7)使用同样的方法创建数据表:Course和StudentCourse。在创建StudentCourse的过程中,参照约束和外码的创建方法如下: 在任意行上,右击(图2-1),选择“关系”,在图2-5中,单击“添加(A)”或“删除(D)”,添加或者删除

17、参照关系。然后选择“表和列规范”,并单击右侧“.”(图2-6)。 在图2-6中,设置外码SNo以及主键表Student和参照码SNo。具体方法为:在“主键表(P):”下选择:Student,并在Student的下方选择参照码SNo。确定“外键表:”的下方的外码是SNo。另外,在下方CNo处选择:,最后单击确定。单击“关闭”完成参照约束设置。 8)编辑数据表。在图2-1中,依次展开数据库和相应的表,在需要编辑的表上右击(如图2-9),然后选择“修改”、“重命名”和“删除”等对数据表进行编辑。,22,学习交流PPT,(2)使用查询分析器创建表,-打开数据库StudentDB:在使用数据库之前,需要

18、先打开数据库。 USE StudentDB CREATE TABLE Student( SNo CHAR(10) PRIMARY KEY NOT NULL, SName CHAR(20) NOT NULL, SSex CHAR(2) CHECK (SSex=男 OR SSex=女), SAge TINYINT CHECK (SAge1 AND SAge100), Coll CHAR(40),23,学习交流PPT,(2)使用查询分析器创建表,CREATE TABLE Course( CNo CHAR(6) PRIMARY KEY NOT NULL, CName CHAR(40) NOT NULL

19、, CPNo CHAR(6), Credit INT, FOREIGN KEY (CPNo) REFERENCES Course(CNo) CREATE TABLE Course( CNo CHAR(6) PRIMARY KEY NOT NULL, CName CHAR(40) NOT NULL, CPNo CHAR(6) REFERENCES Course(CNo), Credit INT),24,学习交流PPT,(2)使用查询分析器创建表,CREATE TABLE StudentCourse( SNo CHAR(10) NOT NULL, CNo CHAR(6) NOT NULL, Gra

20、de FLOAT, PRIMARY KEY (SNo, CNo), FOREIGN KEY (SNo) REFERENCES Student(SNo), FOREIGN KEY (CNo) REFERENCES Course(CNo) CREATE TABLE StudentCourse( SNo CHAR(10) REFERENCES Student(SNo) NOT NULL , CNo CHAR(6) REFERENCES Course(CNo) NOT NULL, Grade FLOAT, PRIMARY KEY (SNo, CNo),25,学习交流PPT,1)向表添加新数据项,ALT

21、ER TABLE ADD 完整性约束 例如:向Student增加“注册时间”属性,其数据类型为日期型。 ALTER TABLE Student ADD SEnrollment DATETIME 例如:向Student的SName增加唯一性约束。 ALTER TABLE Student ADD UNIQUE(SName) 或者 ALTER TABLE Student ADD CONSTRAINT Un_SName UNIQUE(SName),26,学习交流PPT,2)修改表的数据项,ALTER TABLE ALTER COLUMN 例如:修改Student的SAge的类型为SMALLINT。 A

22、LTER TABLE Student ALTER COLUMN SAge SMALLINT,27,学习交流PPT,3)删除表的数据项及其约束条件,ALTER TABLE DROP COLUMN | CONSTRAINT 例如:删除Student的数据项Senrollment。 ALTER TABLE Student DROP COLUMN Senrollment 例如:删除Student的SName的唯一性约束。 ALTER TABLE Student DROP CONSTRAINT Un_SName,28,学习交流PPT,4)删除表:DROP TABLE 。,例如:删除Student。 DR

23、OP TABLE Student 分析上述方法建立的数据库及其表,其结构和内容是什么?,29,学习交流PPT,2.2 数据库的备份、还原和维护,备份和维护:对于已经建立的数据库,通常需要进行备份和维护。 备份数据库:一旦数据库损坏,则可以使用备份数据库恢复。 维护数据库:定期自动检查数据库的完整性、重新组织索引、更新统计信息和备份数据库等,确保数据库中数据的完整性和正确性,使数据库始终处于最佳运行状态。,30,学习交流PPT,2.2.1 数据库的备份与还原,数据库的备份与还原是指在数据库没有脱离SQL Server环境的状态下,直接对数据库备份和还原。,31,学习交流PPT,1. 备份数据库,

24、在图2-1中,展开数据库,在需要备份的数据库上右击,然后选择“任务(T)”“备份(B),在图2-7中,选择需要备份的数据库、备份方式、备份时间、备份的目标磁盘设备和备份的目标文件,然后单击“确定”完成备份。备份StudentDB的选项与设置如图2-7 所示。 备份DB可以在查询分析器中,使用BACKUP DATABASE完成。即: BACKUP DATABASE StudentDB TO DISK=C:StudentDBBackup1.bak,DISK=D:StudentDBbackup2.bak,32,学习交流PPT,2. 还原数据库,在图2-1中,展开数据库,在需要还原的数据库上右击,然后

25、选择“任务(T)”“还原(R)“数据库(D),在还原数据库窗口(类似图2-7)中,选择需要还原的目标数据库、目标时间点,还原的源设备和源备份文件,然后单击还原“选项”,并勾选“覆盖现有数据库”,最后单击“确定”完成还原。 还原DB可以在查询分析器中,使用RESTORE DATABASE,即: RESTORE DATABASE StudentDB FROM DISK=C:StudentDBBackup1.bak WITH REPLACE,33,学习交流PPT,2.2.2 数据库的分离与附加,数据库的分离与附加:首先把数据库从SQL Server环境中分离出来,然后再复制数据库。需要使用时,再利用

26、附件功能把数据库。 1. 分离数据库 在图2-1中,展开数据库,在需要分离的数据库上右击,然后选择“任务(T)”“分离(D),在分离数据库窗口中,选择相应的分离选项,然后单击“确定”完成分离。 对于分离的数据库,可以进行复制操作;在需要使用时,可以使用数据库的附加功能,再把复制的数据库添加到SQL Server环境中。 思考:没有分离的数据库,可以进行复制操作吗?为什么?分析分离数据库与备份数据库的区别和优缺点。 2. 附加数据库 在图2-1中,右击“数据库”,然后选择“附加(A)”,在附加数据库窗口中,选择需要附加的数据库,然后单击“确定”完成附加。,34,学习交流PPT,2.2.3 数据库

27、的维护,必要性:DB在使用过程中,通常会发生违约操作或者故障,为了确保DB的完整性和一致性等,需要定期对DB进行指定的维护工作 维护数据库:可以通过维护计划实现。可以使用维护计划向导很方便的创建维护计划。即: 在图2-1中,展开“管理”,右击“维护计划”(如图2-9),选择“维护计划向导(W)”单击“下一步”,在选择目标服务器窗口中,输入计划名称、选择服务器和登录方式后单击“下一步”。 在图2-8中,勾选需要执行的维护任务,单击“下一步”,然后按照向导选择需要维护的数据库,并进行相应的设置,最后单击“完成(F)”完成维护计划。 维护计划,也可以通过右击“维护计划”(如图2-9),选择“新建维护

28、计划(N)”实现。,35,学习交流PPT,2.3 操作数据,在DB中,对表添加记录、修改记录、查询记录和删除记录等操作。 对象资源管理器 查询分析器实现,36,学习交流PPT,2.3.1 利用对象资源管理器操作数据,在SSMS中,依次展开数据库和相应的数据表,在需要编辑的数据表上右击(如图2-9所示),然后选择“打开表(O)”,在右侧编辑区就会使用表编辑器打开表,以便实现对表内数据的编辑操作: (1)修改表记录:在表设计器中,对表内的记录数据进行修改。 (2)添加新记录:在表设计器中,当编辑最后一个记录时,会在其下方自动添加新记录行,然后编辑新行添加新记录及其数据。 (3)删除表记录:右击要删

29、除的记录行,然后选择“删除” ,在确认对话窗口中选择“是(Y)”进行删除,或者“否(N)”取消删除 注意:在编辑数据表时,如果数据出现违约,则DBMS将会启动违约机制进行检查,并自动作相应的处理,或者输出提示信息。,37,学习交流PPT,2.3.2 利用查询分析器操作数据,在查询分析器中输入如下语句,可以实现数据的添加、修改、查询和删除。,38,学习交流PPT,(1)添加记录,INSERT INTO (, ) VALUES ( , ) 例如:向表Student中添加新学生记录如下: 学号:2008010109;姓名:武松;性别:男;年龄:20;学院:信息学院 INSERT INTO Stude

30、nt VALUES (2008010109,武松,男,20,信息学院) 例如:向表StudentCourse中添加新学生记录如下: 学号:2008010109;课程号:020101 INSERT INTO StudentCourse(Sno,Cno) VALUES (2008010109 ,020101) 提示:添加查询结果(多个元组)可以使用: INSERT INTO (, ) SELECT 语句,39,学习交流PPT,(2)修改表记录,UPDATE SET =,=, WHERE 例如:在表Student中,把学号为2008010101的姓名改为王五。 UPDATE Student SET

31、SName= 王五 WHERE SNo=2008010101 例如:在表Student中,将所有学生的年龄增加1岁。 UPDATE Student SET SAge= SAge +1,40,学习交流PPT,(3)查询表记录,SELECT *| , FROM WHERE 例如:查询表Student中学号为2008010101的学生姓名和年龄。 SELECT SName, Sage FROM Student WHERE SNo=2008010101 例如:查询表StudentCourse的所有选课记录 SELECT * FROM StudentCourse,41,学习交流PPT,(4)删除表记录,

32、DELETE FROM WHERE 例如:在表Student中,删除学号为2008010101的学生。 DELETE FROM Student WHERE SNo=2008010101 例如:在表StudentCourse中,删除所有选课。 DELETE FROM StudentCourse 提示:建立数据库和表的SQL Server完整代码,请参阅VcSqlStudentDB.sql。,42,学习交流PPT,2.4 构建视图,对数据库StudentDB,如果需要查看学生的学号、姓名、性别、课程名、成绩和学院等信息,应该怎样实现? 分析:需要查看的数据分布在3个表中,因此需要利用3个表,并根据

33、查询的数据创建一个由3个表到查询的一个视图,通过视图实现查询到3个表的映射。 视图是利用查询语句定义的,从一个或者多个表(即:基本表)中导出的虚表。只存放带有查询语句的视图的定义,不存放视图对应的数据;只有执行视图时,才从表中取出其相应的数据,因此视图的数据仍存放在基本表中(或由基本表的数据导出),而且随着基本表的变化而变化。即:视图是数据库整体逻辑结构中局部数据的临时体现。 方法: 对象资源管理器 查询分析器,43,学习交流PPT,2.4.1 利用对象资源管理器创建视图,(1)添加创建视图需要的表。 (2)建立表与表之间的关联关系。系统会自动建立;可以编辑。 (3)选择视图需要的数据项。 (

34、4)保存视图。具体方法: (1)添加表。在SSMS中,展开“数据库”,再展开需要创建视图的数据库,右击“视图”(如图2-10所示),然后选择“新建视图(N)”,在弹出的添加表对话窗口(图2-10左下角)中,添加创建视图需要的表,然后单击“关闭”,这时在右侧编辑区上面第1区中会出现添加的表,并且自动建立了关联关系(可以对关联关系进行编辑)。 思考:分析S、C和StudentCourse中SNo和CNo冗余的必要性。 (2)选择数据项。在右侧编辑区第2区中“列”的下方选择需要的数据项。这时在第1区系统会自动同步勾选相应的数据项,同时在第3区系统会自动给出创建视图的语句。 (3)单击工具栏的运行按钮

35、“!”,在下方第4区显示运行结果,运行正确后,保存视图。,44,学习交流PPT,2.4.2 利用查询分析器创建视图,格式:CREATE VIEW AS SELECT 语句 例如:利用数据库StudentDB,创建包含学号、姓名、课程名、成绩、性别和学院等信息的视图StuGrade。 CREATE VIEW StuGrade AS SELECT Student.SNo, SName, CName, Grade, SSex, Coll FROM Student, Course, StudentCourse WHERE Student.Sno=StudentCourse.SNo AND Course

36、.CNo=StudentCourse.CNo 分析:视图本质上是一个查询,即把经常用到的查询定义成一个视图,也就是说视图实际上是一个虚表。在SQL Server2005中,视图和表是同等对待的,因此可以使用SELECT语句对视图进行查询。 例如:查询视图StuGrade的所有信息。 SELECT * FROM StuGrade 思考:分析视图与表之间的关系。,45,学习交流PPT,2.5 安全,在利用DBMS进行高效数据库管理的同时,还需要防止非法使用所造成的数据更改、破坏或者泄露,从而确保数据库的安全。 SQL Server 2005作为专业的世界级DBMS产品,完全支持DAC和MAC控制机

37、制,并提供了一整套完善的数据库系统安全控制机制。,46,学习交流PPT,2.5.1 创建Windows登录和SQL Server2005登录,登录SQL Server 2005的用户首先必须是Windows的合法登录用户或者SQL Server2005的合法登录用户。 (1)创建Windows的登录用户 我的电脑的控制面板中的“用户帐户”,可以创建Win的登录用户。 例如:给Windows创建两个合法登录用户HappyMary和HappyTom。 (2)创建SQL Server2005的登录用户。 在对象资源管理器中,展开“安全性”,右击“登录名”,选择“新建登录名(N)”(如图2-11所示(

38、右下角)。 在图2-11中,利用“常规”、“服务器角色”和“用户映射”等创建用户并设置属性。即:,47,学习交流PPT,2.5.1 创建Windows登录和SQL Server2005登录,1)常规:搜索(可以把Win登录用户映射成为SQL Server2005的登录用户)或输入登录名、登录身份类型、登录密码、选择默认DB等。 提示:不要使用“强制密码过期”,否则不能创建新用户。 2)服务器角色:勾选授权的服务器角色。 3)用户映射:映射并授权数据库及其角色成员身份。 使用查询分析器创建SQL Server2005登录用户的方法如下: CREATE LOGIN WITH PASSWORD =密

39、码 例如:给SQL Server2005创建两个合法的登录用户HappyJone和HappySmith。 CREATE LOGIN HappyJone WITH PASSWORD= 666 CREATE LOGIN HappySmith WITH PASSWORD= 666 (3)重命名或者删除SQL Server2005的登录用户 在SSMS的对象资源管理器中,依次展开“安全性”“登录名”,右击需要重命名或者删除的用户,然后选择“重命名(M)”或者“删除(D)”。或者使用DROP LOGIN语句。,48,学习交流PPT,2.5.2 创建数据库用户与角色,如果登录SQL Server 2005

40、之后,需要继续访问系统中的数据库,还必须是一个数据库用户。数据库用户可以从现有的Windows登录用户或者SQL Server2005登录用户中映射过来。,49,学习交流PPT,(1)使用对象资源管理器创建数据库用户与角色,在SSMS的对象资源管理器中,展开“数据库”,然后选择并展开指定的数据库(例如:StudentDB),右击“安全性”,选择“新建(N)”“用户(U)”(如图2-11(右下角)。 在“数据库用户-新建”窗口(参考图2-11)中,利用“常规”输入数据库用户名,并选择或者输入相应的登陆名(Windows或者SQL Server 2005),然后设置相应的属性。 如果选择“新建(N

41、)”“数据库角色(U)”,则可以按照同样的方法创建数据库角色。,50,学习交流PPT,(2)使用查询分析器创建数据库用户与角色,CREATE USER FOR LOGIN 其中:必须是Win或SQLServer2005的合法登录名。 例如:在SQL Server 2005中,给数据库StudentDB创建一个数据库用户HappyTomer,其登录身份是Windows的合法登录HappyTom;同时创建一个数据库用户HappyJone,其登录身份是SQL Server 2005的合法登录HappyJone。即: CREATE USER HappyTomer FOR LOGIN ZJGSU-HAP

42、PYYOUHappyTom CREATE USER HappyJone FOR LOGIN HappyJone 提示:如果要想成功运行第一个语句,请先创建一个名为HappyTom的Windows登录用户,并修改服务器名称ZJGSU-HAPPYYOU,而且附加数据库StudentDB.MDF。运行第二个语句,请先创建一个名为HappyJone的SQL Server 2005登录用户。,51,学习交流PPT,(2)使用查询分析器创建数据库用户与角色,如果需要创建数据库角色可以使用CREATE ROLE语句。即: CREATE ROLE AUTHORIZATION 其中是DB用户或DB拥有者(DB

43、Owner) 例如:在SQL Server 2005中,给数据库StudentDB创建一个数据库角色Tom,其数据库用户是HappyTomer;同时创建一个数据库角色Jone,其数据库用户是数据库StudentDB的拥有者DBO。即: USE StudentDB CREATE ROLE Tom AUTHORIZATION HappyTomer CREATE ROLE Jone,52,学习交流PPT,(3)删除SQL Server2005的数据库用户与角色,在对象资源管理器中,依次展开“安全性”“登录名”,右击需要删除的用户或者角色,然后选“删除(D)”。或DROP ROLE语句。 修改数据库用

44、户和角色可以分别使用ALTER USER语句和ALTER ROLE语句。用法与CREATE USER和CREATE ROLE雷同。 例如:在SQL Server 2005中,删除数据库用户HappyTomer和HappyJone。 USE StudentTestDB DROP USER HappyTomer DROP USER HappyJone,53,学习交流PPT,2.5.3 SQL Server 2005的权限控制,在SQL Server 2005中,只有授权用户才能执行语句或者对保护对象进行操作。否则将拒绝执行Transact-SQL语句或者拒绝对数据库对象进行操作。 用户权限可以在创建用户时直接授权,也可以使用SQL Server2005支持的语句GRANT、DENY和REVOKE进行授权、阻权和收权等。,54,学习交流PPT,(1)授权GRANT,GRAN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论