SQLServer数据库创建和维护.ppt

上传人:w****2 文档编号:15593481 上传时间:2020-08-22 格式:PPT 页数:47 大小:1.61MB
收藏 版权申诉 举报 下载
SQLServer数据库创建和维护.ppt_第1页
第1页 / 共47页
SQLServer数据库创建和维护.ppt_第2页
第2页 / 共47页
SQLServer数据库创建和维护.ppt_第3页
第3页 / 共47页
资源描述:

《SQLServer数据库创建和维护.ppt》由会员分享,可在线阅读,更多相关《SQLServer数据库创建和维护.ppt(47页珍藏版)》请在装配图网上搜索。

1、信息系统与数据库,授课:万飚 时间:2020年8月22日,武汉大学水利水电学院,第4章关系数据库管理系统与SQL语言,4.2 SQL Server 数据库创建和维护,4.2.1 SQL Server数据库,1. 数据库中的对象 从逻辑上看,SQL Server数据库是由一组存储、管理和使用数据的对象构成。 表(Table) 索引(Index) 视图(View) 默认(Default) 约束(Constraint) 存储过程(Stored Procedure) 触发器(Trigger) 用户(User)、角色(Role) 用户定义的数据类型、函数,2. SQL Server 有两类数据库,(1)

2、 系统数据库:存放 SQL Server 工作时需要的系统级信息 (2) 用户自定义数据库:用户根据数据管理的需要建立的数据库,由用户自行创建和维护。 SQL Server提供两个样本数据库 : pubs(图书出版的数据库) Northwind(有关贸易公司的数据库),3. 数据库的物理存储结构,指数据库文件在磁盘上的存储方式,SQL Server在磁盘上是以文件为单位存储的。 (1) 文件。数据库文件有二种: 数据文件:用来存储数据以及数据库的启动信息。每个数据库都包含一个且只能包含一个主数据文件。主数据文件使用MDF为扩展名(次数据文件NDF)。 日志文件:记录SQL Server执行的所

3、有事务以及由这些事务操作引起的数据库的变化。日志文件使用LDF为扩展名。 位置:安装目录Microsoft SQL ServerMSSQLData,4.2.2 数据库创建与维护,都可以通过企业管理器进行操作: 1创建数据库 2修改数据库 3删除数据库 4附加和分离数据库,1创建数据库,【例4-1】创建数据库School,要求: 主数据文件School_Data.MDF,初始大小为5MB; 事务日志文件School_Log.LDF; 这两个文件建立在D:DBSchool文件夹下; 其他按照默认设置不变。 操作步骤(演示),2修改数据库,数据库创建后,数据文件和日志文件名不能改变。 对已存在的数据

4、库可以进行如下的修改: 增加或删除数据文件; 改变数据文件的大小和增长方式; 改变日志文件的大小和增长方式; 增加或删除日志文件; 增加或删除文件组。 操作步骤:在“数据库属性”界面(演示),3删除数据库,操作步骤: (1) 右单击要删除的数据库,在弹出的快捷菜单上选择“删除”命令。 (2) 在弹出的对话框中单击【确定】按钮,即可删除选定的数据库。,4附加和分离数据库,在复制数据库前数据库必须脱离SQL Server,只能实现脱机复制。 【例4-2】School数据库分离和重新附加 将School数据库分离; 将School_Data.MDF复制为School_DataBak.MDF 附加数据

5、库School_DataBak.MDF。 操作步骤(演示),案例:教务管理系统的数据库,新建一个数据库操作完成后,只是建立了数据库框架和相关的系统对象,接下来的任务是建立具体的数据表。 例如:建立教材P65-66页数据库。,4.2.3 数据表创建与维护,创建数据表的一般过程: 1. 设计表结构 2. 定义字段 输入字段 定义字段类型 定义字段属性 编辑字段 3. 保存表 4. 输入数据,1. SQL Server 数据类型,(1) 整型,整型数据类型用于存储整数,有4种整型分别用于存储不同范围的整数。,(2) 浮点型,用于存储含小数的十进制数。 float和real是近似数值型,采用科学计数法

6、表示。 decimal 和numeric是精确数值类型,格式如下: decimal |numeric(p,s) 其中:p为精度,s为小数位数。,(3) 字符型和文本型,字符型用于存储字符串,要用单引号引起:男。 char(n)定长字符,字符串长度超出n的部分被截取;如不足n时,则在尾部添加空格。 varchar(n)变长字符,长度为字符串的实际字符个数。 text文本类型,存储可变长度的大量字符。,(4) 日期时间数据类型,用来存储日期和时间数据,默认数据格式为: “YYYY-MM-DD HH:MM:SS” 在使用时也可只存储日期或时间。,(5) 其他几种类型,位类型:bit,用来作为逻辑变量

7、使用,其数值为0和1,代表TRUE和FALSE或YES和NO。 货币型:money,实际上是一种小数,但小数点后只有4位,且自动四舍五入。 图像类型:image,用于存储照片、图片等,实际存储的是可变长度的二进制数据。 唯一标识符类型:uniqueidentifier,数据库管理系统会随着记录的加入自动为该类型的字段产生唯一标识符,它是16字节长的二进制数据。,2数据表的创建和维护,(1) 创建数据表 【例4-3】在数据库School中建立学生表 T_Student,完成各字段的定义。 (2) 修改数据表结构 增加字段、删除字段、修改字段属性等。 (3) 更改表名,3数据表的记录插入和维护,在

8、企业管理器中,展开需操作的表所在的数据库,在右窗格中右击需操作的数据表,在弹出的菜单中选择“打开表/返回所有行”,出现表的数据窗口。 在该数据窗口中进行操作: (1) 插入记录 (2) 修改记录 (3) 删除记录,4删除数据表,(1) 在企业管理器中展开表,右单击要删除的表,在快捷菜单上选择“删除”命令。 (2) 在弹出的“除去对象”对话框中,选择“除去”按钮,即可删除选择的表。,4.2.4 数据表约束和数据完整性控制,数据的完整性控制保护数据库中的数据的正确性、有效性和相容性,防止数据库中存在不符合语义的数据,防止错误信息进入数据库,并且使数据符合所描述的业务规则。 SQL Server 使

9、用表约束实现数据库完整性控制的方法:通过限制表的字段、记录以及表之间的数据来保证数据完整性。,SQL Server 数据常用完整性约束机制,1. 实体完整性约束的定义,(1) 主关键字约束(Primary Key) 【例4-4】在数据库School中定义学生表T_Student的主键为“StudentCode”。 (2) 唯一性约束(Unique) 【例4-5】在数据库School中的学生表T_Student不允许出现姓名相同的记录,即对“StudentName”字段定义唯一性约束。,2. 域完整性约束定义,(1) 默认值约束(Default) 【例4-6】在数据库School的学生表T_St

10、udent中,设置性别Sex字段的默认值为“男”。 (2) 非空值约束(Not Null) 【例4-7】在数据库School的学生表T_Student中,设置StudentCode、StudentName、ClassCode、Sex字段为非空值,其他字段允许为空。 (3) 检查约束(Check) 【例4-8】在数据库School的学生表T_Student中,设置Sex列的值只允许是“男”或“女”。,3. 参照完整性约束定义,(4) 外关键字约束(Foreign Key) 两个建立关联关系的表中,在主表中相关字段定义了主键或唯一性约束,在从表中将相关字段定义为外关键字 (外键),这样,外键的取值

11、必须是主键中存在的值或空值。 【例4-9】在数据库School的学生表T_Student和T_Class表间建立关系,实施参照完整性约束。 在该关系中,将T_Class的ClassCode字段设置为主键; 将T_Student 的ClassCode设置为外键; 并实施参照完整性。,4.2.5 索引的创建与维护,索引提供数据表查询时快速查找支持。一般来说,需要在下面这些地方建立索引: 在主键和外键上创建索引。 在检索频繁的字段上建立索引。 在经常需要排序的字段上建立索引。 SQL Server 自动为主键字段建立聚集索引,又称为主索引,其他索引用户根据需要建立等。 可在数据表上建立一个或多个索引

12、。,1. 索引的创建,【例4-12】使用企业管理器为School数据库的T_Student表建立索引: 按学号(StudentCode)建立主键索引; 按姓名(StudentName)建立非唯一索引,索引的组织方式为非聚集索引。,2. 索引管理,包括索引的查看、修改和删除。 (1) 进入企业管理器,打开相应的数据库,右击要进行索引管理的数据表,从弹出的快捷菜单中选择“所有任务/管理索引”命令,出现“管理索引”对话框。 (2) 选择要查看或修改的索引,单击“管理索引”对话框上的【编辑】按钮,显示“编辑”索引对话框,在该对话框中,可以修改被选索引的设置。 (3) 要删除索引,则在“管理索引”对话框

13、或索引“属性”页界面上选择要删除的索引,单击【删除】按钮,即可删除索引。,4.3 SQL语言,SQLStructured Query Language (sequal)结构化查询语言; 1974年由Boyce和Chamberlin提出,历经多次修订和完善,被国际化标准组织 (ISO) 确定为数据库的标准语言; 标准:SQL-86,SQL-89,SQL-92,SQL-99SQL-2003;SQL-2006;,SQL语言的特点,(1) 非过程化 (2) 高度一体化 (3) 两种使用方式 (4) 语言简洁,只需描述做什么?无需说明怎么做!,可完成数据库活动中的全部工作,交互式 嵌入式,只有不多的几条

14、命令!,SQL语言的组成元素,DDL(Data Definition Language):数据定义语言 定义数据库结构、各对象及属性的语句 包括:CREATE、ALTER、DROP DML(Data Manipulation Language):数据操纵语言 实现对数据库基本操作 (查询、插入、修改、删除等) 的语句 包括:SELECT、INSERT、UPDATE、DELETE DCL(Data Control Language):数据控制语言 保证数据库一致性和完整性 包括:GRANT、REVOKE、DENY,SQL语言基本功能及动词表,4.3.1 T-SQL 语言,大多数数据库均采用SQL

15、作为共同的数据存取语言和标准接口,但各个数据库厂商的产品对SQL的支持存在细微差别。 Transact-SQL (T-SQL) 语言是微软公司在 SQL Server 中对 SQL 的扩展。 T-SQL 增加的语言元素:变量、运算符、函数、流程控制语句和注解等。,基本约定,在T-SQL语句中,不区分字母大小写。 为阅读方便,约定: (1) 用大写字母书写T-SQL语句中关键词; (2) 用小写字母书写语句中的标识符、表达式以及各种参数; (3) 注释用“/*”和“ */”括起来; (4) SQL语句的结束可以加上 ; 。,在SQL Server中执行SQL语句,在查询分析器中执行并查看结果,即

16、以交互方式使用。 可以一次执行一条语句,也可以一次多条,在Access中执行SQL语句,4.3.2 数据定义语言DDL,数据定义语言主要是定义数据库中的对象,包括数据库、数据表、视图、索引、存储过程、触发器等的建立或修改。,SQL数据定义语言DDL,1数据库操作语句,(1) 创建数据库语句:CREATE DATABASE 【例4-13】创建名为 School的数据库: CREATE DATABASE School 注:以系统数据库model作为模板在SQL Server安装目录的Data文件夹下建立数据库文件和日志文件 可在创建数据库时指定名称和存放位置: CREATE DATABASE Sc

17、hool ON (NAME=School_Data, FILENAME=D:School_Data.MDF),(2) 打开和删除数据库语句 当用户登录到SQL Server后,系统指定一个默认的系统数据库 (通常为master) 作为当前数据库。 用户可使用USE语句来选择要操作的数据库,如: USE School 当一个数据库不再需要时,可使用DROP语句删除: DROP DATABASE School,2数据表操作语句,(1) 建立表语句:CREATE TABLE 【例4-14】建立学生表T_Student。 CREATE TABLE T_Student ( StudentCode CHA

18、R(8) NOT NULL UNIQUE, /*唯一性约束,不许取空值*/ StudentName VARCHAR(16) NOT NULL, Sex CHAR(2) NOT NULL, LiveInDorm BIT DEFAULT 1, /*默认值为1*/ CONSTRAINT StudentPK PRIMARY KEY (StudentCode) /* StudentCode为主键约束*/ ),【例4-15】建立成绩表T_Grade。 CREATE TABLE T_Grade ( StudentCode CHAR(8) NOT NULL , /*不许取空值*/ Grade REAL DEF

19、AULT 0 , /*默认值为0*/ CONSTRAINT GradeCK CHECK(Grade=0 AND Grade= Grade=100*/ ),(2) 删除表语句:DROP TABLE 【例4-16】删除T_Student表 DROP TABLE T_Grade 注意:删除数据表要十分谨慎,因为当数据表被删除时,里面的数据也被全部删除。,3索引的建立与删除,(1) 建立索引语句:CREATE INDEX 【例4-17】在T_Student表的姓名(StudentName)字段上建立升序索引。 CREATE INDEX NameIndex ON T_Student (StudentNa

20、me) 【例4-18】在T_Student表的学号(StudentCode)字段上建立唯一降序索引。 CREATE UNIQUE INDEX StudentCodeIndex ON T_Student (StudentCode DESC),(2) 删除索引语句:DROP INDEX 【例4-19】删除T_Student表中索引名称分别为NameIndex和StudentCodeIndex的两个索引。 DROP INDEX T_Student.NameIndex, T_Student.StudentCodeIndex,SQL语句自动生成方法,当使用企业管理器创建数据库对象时,可以自动生成其SQL语句(脚本),并可将其保存到一个扩展名为.sql的文件中; 在查询分析器中可打开.sql文件,重新执行相应的SQL脚本。 脚本生成方法:(操作演示),

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!