【文档说明】数据库系统概论02-课件.ppt,共(81)页,574.023 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-92464.html
以下为本文档部分文字说明:
SQLServer主要内容SQLServer数据库创建和维护T-SQL语言视图、存储过程和触发器数据库管理和保护MicrosoftSQLServer2000(简称SQLServer)是Microsoft
公司在Windows平台上开发的一个基于客户机/服务器(C/S)模式的关系数据库管理系统。网络客户机客户机SQLServer数据库服务器客户机应用程序负责商业逻辑和向用户提供数据。服务器对数据库的数据进行操作和管理。SQLServe
r主要管理工具SQLServer提供了一整套数据库系统管理工具和实用程序,打开“开始/程序/MicrosoftSQLServer”菜单即可看到如下所示的SQLServer主要工具:1.服务管理器(SQLSer
verServicesManager)SQLServer服务管理器的作用:启动、停止或暂停SQLServer服务器所支持的服务。服务有3种状态:停止(红色):该服务没有启动,所有与SQLServer连接的客户端全部断开。启动(绿色):服务正
常运行,相关管理和服务功能可用。暂停(黄色):暂停状态时,已连接的客户端任务可以完成,不允许新的连接。选择该复选框可以在启动操作系统时自动启动所选择的SQLServer服务。表示服务管理器处于启动状态表
1SQLServer提供的主要服务服务名称主要作用支持主要服务和管理SQLServer(SQLServer数据库引擎服务)是SQLServer的核心服务组件,是实际的数据库服务器,该服务启动后,客户端才可以连接服务器上。一般的数据库功能都由它提供
数据管理(创建、维护数据库等)、T-SQL处理、并发控制、数据完整性控制等SQLServerAgent(SQLServer代理服务)作业调度和管理,可支持数据库定时、自动备份、维护,监视数据库、异常告
警等功能,必需和SQLServer服务一起使用作业、报警、操作员等DistributedTransactionCoordinator(分布式事务处理协调器服务DTC)管理分布式事务,它允许客户端应用程序在一个事务中包含多个不
同的数据源分布式事务处理协调器2.企业管理器(EnterpriseManager)SQLServer企业管理器是可视化的数据库管理工具,使用企业管理器可以对SQLServer服务器、数据库及数据库对象进行各种有
效的管理,执行所有的SQLServer管理任务。菜单栏对象浏览器:进行数据库维护和操作SQL语句编辑器执行结果显示窗口工具条3.查询分析器(SQLQueryAnalyzer)4.SQLServer联机丛书数据库中的对象•表(Tab
le)•索引(Index)•默认(Default)•约束(Constraint)•视图(View)•存储过程(StoredProcedure)•触发器(Trigger)•用户(User)、角色(Role)•用户定义的数据类型、用户定义
的函数SQLServer有两类数据库:(1)系统数据库:存放SQLServer工作时所需要的系统级信息。数据库主要作用master从整体上控制SQLServer系统和用户数据库的运行。保存登录标识、系统配置、用户数据库基本信息等。该库非常重要,应设置权限禁止一般用户访问,另外要及时备份mode
l是新建数据库的模板,包含了每个用户数据库都需要的一些系统表,SQLServer以它为基础创建新的数据库msdb支持SQLServerAgent服务,它记录有关作业、警报、操作员等信息tempdb是个临时数据库,它为SQLServer的查询、存储过程等的执行提
供临时存储(2)用户自定义数据库:用户根据数据管理的需要建立的数据库,由用户自行创建和维护。SQLServer提供两个样本数据库:•pubs(图书出版的数据库)•Northwind(有关贸易公司的数据库)创建数据库创建数据库创
建和打开数据库修改数据库删除数据库创建和打开数据库数据库名数据库名称在服务器中必须惟一符合标识符的规则数据库名称最多可以包含128个字符创建和打开数据库数据库文件数据文件日志文件(.ldf)主数据文件(.mdf)次数据文件(.ndf)——一个—
—多个所有文件都具有逻辑文件名与物理文件名创建和打开数据库文件组是用户对数据库文件(不包括事务日志文件)进行分组而形成的。每个数据库中至少包含一个文件组(主文件组)使用文件和文件组时要遵循以下规则主数据文件必须属于主文件组任何未指定文件组中的文件都放在主文件组。所有系统表都
包含在主文件组中。一个文件只能属于一个文件组一个文件或文件组只能属于一个数据库日志文件不能成为任何文件组的成员使用CREATEDATABASE命令建立数据库CREATEDATABASE数据库名[ONPRIMARY(NAME=…,FILENAME=…,SIZE=…,MAXSIZE=…,FI
LEGROWTH=…)…LOGON(NAME=…,FILENAME=…,SIZE=…,MAXSIZE=…,FILEGROWTH=…)…FILEGROUP文件组名]使用USE命令可以打开已创建的数据库打开已创建的数据库
命令格式为USE数据库名例1创建期刊采编系统数据库MagDb磁盘的文件夹要预先建立例2创建未指定数据文件和日志文件的数据库usedb1例3创建数据库usedb,其主数据文件为use1,次数据文件为use2和use3;日志
文件包括uselog1和uselog2例4创建包含多个文件组的数据库usedb2修改数据库增加或删除数据文件和日志文件缩小分配给数据文件或日志文件的空间扩大分配给数据文件或日志文件的空间创建文件组改变默认文件组改变数据库名使
用ALTERDATABASE命令改变数据库定义ALTERDATABASE数据库名ADDFILE(文件参数)…TOFILEGROUP文件组名REMOVEFILE(文件参数)…MODIFYFILE(文件参数)…ADDLOGFILE(文件参数)…ADDFILEGRO
UP文件组名REMOVEFILEGROUP文件组名例5为数据库usedb1增加一个数据文件add_use1例6为数据库usedb1增加一个日志文件add_use1_log例7为数据库usedb1增加一个数据文件add_use2并添加到新建的文件组use
dbFG中例8更改数据库usedb1中文件add_use2的初始大小为10M缩小数据库或数据文件缩小数据库大小DBCCSHRINKDATABASE(数据库名,参数)参数——数据库缩小到原来大小的百分比缩小数据文件大小DBCCSHRINKFILE(文件名,参数)
参数——数据文件缩小后的绝对数值,默认单位MB例9将数据库usedb2的大小缩小到60%例10将数据库usedb2中的文件userlog2的大小缩小到10M删除数据库删除数据库的指令格式为:DROPDATABASE数据库名例1
1将数据库usedb删除创建和维护表创建和维护表创建数据库表修改数据库表使用约束建立索引删除数据库表创建数据表的一般过程:◆设计表结构◆定义字段输入字段定义字段类型定义字段属性编辑字段◆保存表◆输入数据创建数据库表的指令格式CREATETAB
LE表名(列名1数据类型{identity|NOTNULL|NULL},列名2数据类型{identity|NOTNULL|NULL},…)NULL:可以无值,默认值NOTNULL:必须输入值identity计数器,递增的整
数,默认:初值1,步长1;用户可自定义,如identity(-20,4)规则每个数据表只能有一个具有identity属性的列;该列的数据类型使用整型或精确数型;该列的数据值自动拥有,用户不能修改该列的数据值。例:Crea
tetabledemotable(user_idnumeric(10,0)identity,Namevarchar(30)notNULL,Commentsvarchar(100)null)表名表名是惟一的可以使用中文,也可以使用西文符号最多64个字符一般表都是永久表临时表临
时表的表名必须以#打头仍然使用CREATETABLE命令例:Createtable#demotable(user_idnumeric(10,0)identity,Namevarchar(30)notNULL)列名表中的每一列也称为
字段,所以列名也叫字段名;字段名的命名方式基本同数据表名的命名;字段名在数据表中要求是惟一的,但在整个数据库中可以重名。数据类型T-SQL中支持的、常用的数据类型字符型日期时间类型数值类型二进制型位型文本型图像型时间戳型字符
型字符型变量应定义长度允许定义的最大长度是255有两种固定长度的char()类型,空格补位可变长度的varchar()类型输入字符型数据时必须用单引号将数据括起来日期时间类型datetime和smalldatetime是用来存储日期和时间数据日期时间类型数据必须用单引号
括起来比较内容DatetimeSmalldatetime最小值Jan1,1753Jan1,1900最大值Dec31,9999Jun6,2079占用存储空间8byte4byte精度3.33毫秒1分钟整数类型整数类型的比较比较内容IntSmal
lintTinyint最小值-231-2150最大值231-1215-1255占用存储空间4byte2byte1byte浮点数类型比较内容FloatReal最小值-1.79E+308-3.40E+38最大值1.79E+3083.40E+38占用存储空间8Byte4Byte精度最多15位最多7位精
确数类型精确数类型有两种形式DecimalNumeric与浮点类型数据的区别可以自定义精度的位数(最多28位)例num_col(5,2)货币型货币类型的比较比较内容MoneySmallmoney最小值-922,337,203,
685,477.5808-214,748.3648最大值922,337,203,685,477.5807214,748.3647占用存储空间8Byte4Byte精度小数点后4位小数点后4位使用SQL语句输入货币类型数据可以在数据前加上货币符号(如¥、$等)位数据类型位数据类型bit是一
种逻辑数据类型只有1和0两种数值一般常用作true/false使用定义bit列时,不允许为NULL,也不能建立索引多个bit列可占用一个字节文本型和图像型文本类型text图像类型image每行可以存储2GB的二进制大型对象时间戳型时间戳型
表示Timestamp由系统自动赋值的一个计数器数据记录了数据行的操作顺序时间戳列的数据保持惟一,它可以惟一标识表中的列时间戳列的值实际来自于事务日志例3建立期刊采编系统数据库中各数据表创建mag_dept
表创建mag_emp表创建mag_info表创建mag_doc表修改数据库表添加或删除列修改列的属性更改列名和表名添加或删除列增加列的语句格式Altertable表名add列名数据类型{identity|NOTNULL|NULL},…删除列的语句格式Altertable表
名dropcolumn列名例12向数据表mag_emp中添加一新属性ID(身份证号),数据类型为字符型,固定长度18修改列的属性命令格式altertable表名altercolumn列名数据类型{identity|NOTNULL|NULL}例13将数
据表mag_info中PubDate的数据类型更改为smalldatetime更改列名和表名使用SQLServer内部存储过程更改列名sp_rename‘表名.原列名’,新列名更改表名sp_rename原表名新表名例14数据库usedb1中建有数据表test,包含nu
mber、stu_name和class三个字段,请将class更名为class_no例15将数据库usedb1中数据表test更名为student使用约束约束的作用实现数据的完整性实体完整性参照完整性用户自定义完整性约束的类型建立约束删除约束参照完整性学号姓名S25
6S257S258王丹章华李力性别系号男女男D23D25D30系号D23D25D30系名负责人物理机械计算机王娟杨华张天关系S关系DEPT约束的类型名称作用实现的完整性Primarykey定义主键,保证主键列无重复值实体完整性Unique保证该列无重复值实体完整性Foreignkey定义外键,保证
数据表间数据的一致性参照完整性Check定义表中某些列的数据范围自定义完整性Default为列的数据提供默认值自定义完整性建立约束定义约束时使用Createtable语句或使用Altertable语句即可以在定义数据表的数据列时直接定义约束,也可以对已定义的数据表添加约
束使用Altertable语句添加约束的基本格式Altertable表名Add[Constraint约束名]约束定义使用Createtable语句建立约束Createtable表名(列名1数据类型{identity|NOTNULL|
NULL}[Constraint约束名]约束定义,列名2数据类型{identity|NOTNULL|NULL}[Constraint约束名]约束定义,…[Constraint约束名]约束定义)PRIMARYKEY定义主键约束的基本格式为:[Constraint约束名]
primarykey(列名1[,列名2,…])例16向数据表map_dept中添加主键约束例17在数据库usedb2中建立数据表map_dept,同时定义主键约束例18在数据库usedb1中建立数据表grade,表中包括学号sno(char)、课程号cno(cha
r)、成绩gmark(numeric)属性主键由学号和课程号构成UNIQUE定义数据表中非主键的列在各行记录中不能出现相同的非空值定义格式:[Constraint约束名]UNIQUE(列名1[,列名2,…])例19向数据库usedb2中数据表mag_dept属性DepManager增加
UNIQUE约束FOREIGNKEY定义外键的命令基本格式[Constraint约束名]foreignkey(列名1[,列名2,…])references表名(列名1[,列名2,…])例20向数据库MagDb中数据表mag_emp的属性
DepId添加外键约束定义外键时要保证被定义为外键的属性在参照表中已经被定义为主键。例21在数据库usedb2中建立数据表mag_emp,同时定义主键和外键CHECK定义约束check的命令基本格式[Constraint约束名]ch
eck(逻辑表达式)例22将数据库MagDb中数据表mag_emp的属性EmpAge取值范围限定在1-100之间(含1和100),并将此约束命名为ck_ageDEFAULT定义约束default的命令基本
格式为[Constraint约束名]default常量表达式for字段名例23将数据库MagDb中数据表mag_emp的属性EmpRole的默认值指定为“编辑”删除约束删除约束的语句格式Altertable表名DropConstraint约束名