创建数据库和表_第1页
创建数据库和表_第2页
创建数据库和表_第3页
创建数据库和表_第4页
创建数据库和表_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、创建数据库和表创建数据库和表创建数据库和表创建数据库和表 新建数据库和表新建数据库和表了解了解SQL Server 202XSQL Server 202X中数据库的存储结构中数据库的存储结构掌握使用掌握使用SSMSSSMS创建、修改及删除数据库、表和关系的方法创建、修改及删除数据库、表和关系的方法熟悉熟悉T-SQLT-SQL语言并熟练编写管理数据库和表的语句语言并熟练编写管理数据库和表的语句理解理解SQL Server 202XSQL Server 202X中的数据完整性机制中的数据完整性机制理论指导理论指导一、一、SQL Server 202XSQL Server 202X中数据库存储结构中

2、数据库存储结构二、创建数据库和表的方法二、创建数据库和表的方法三、用户、角色和架构三、用户、角色和架构图1-1 超市收款结算一、一、SQL Server 202XSQL Server 202X中数据库存储结构中数据库存储结构物理存储结构是指物理存储结构是指SQL Server 202XSQL Server 202X中数据库对象在磁盘上的存储方式,逻辑中数据库对象在磁盘上的存储方式,逻辑存储结构是指操作系统和存储结构是指操作系统和SQL Server 202XSQL Server 202X所展示的存储方式。所展示的存储方式。(一)物理存储结构(一)物理存储结构 页是页是SQL ServerSQL

3、 Server中存储数据的最基本单位,当中存储数据的最基本单位,当表需要空间存放数据时,表需要空间存放数据时,SQL ServerSQL Server以页为单位分以页为单位分配空间给表,每页的大小为配空间给表,每页的大小为8KB8KB。标头。标头9696字节,存字节,存储页码、页类型、页的可用空间等信息。每存储页码、页类型、页的可用空间等信息。每存放一个记录,页尾就会再用两个字节来存放代放一个记录,页尾就会再用两个字节来存放代表记录位置的行偏移及其他信息。表记录位置的行偏移及其他信息。 当数据库需要空间存储表、索引等数据库对象时,当数据库需要空间存储表、索引等数据库对象时,SQL Server

4、SQL Server会以区为会以区为单位分配空间。单位分配空间。区是八个物理上连续的页的集合,区是八个物理上连续的页的集合,SQL ServerSQL Server有两种类型的区:有两种类型的区:混合区:区中八页的每页可由不同的对象所有。例如区中有两页由混合区:区中八页的每页可由不同的对象所有。例如区中有两页由A A表使用,表使用,有一页由有一页由B B索引使用,当建立新的表或索引时,索引使用,当建立新的表或索引时,SQL ServerSQL Server会查找此区中尚会查找此区中尚未使用的页来存放。未使用的页来存放。统一区:区中的所有八页只能由单个对象使用。当混合区中的表和索引统一区:区中的

5、所有八页只能由单个对象使用。当混合区中的表和索引大小增长到八页时,它们就会被存放到专供自己使用的统一区中,以提大小增长到八页时,它们就会被存放到专供自己使用的统一区中,以提高访问效率。高访问效率。(二)逻辑存储结构(二)逻辑存储结构1 1系统数据库和用户数据库系统数据库和用户数据库系统数据库在安装好系统数据库在安装好SQL Server 202XSQL Server 202X软件后就已经存在;软件后就已经存在;用户数据库是指由用户建立的数据库。用户数据库是指由用户建立的数据库。 master master数据库是数据库是SQL SQL Server 202XServer 202X的总控数据库,

6、的总控数据库,用于记录系统配置信息、跟踪用于记录系统配置信息、跟踪用户数据库、管理系统资源分用户数据库、管理系统资源分配以及响应配以及响应SQLSQL语句等。语句等。 model model数据库作为数据库作为SQL Server SQL Server 202X202X的原型数据库,是系统创建所的原型数据库,是系统创建所有数据库的模板。有数据库的模板。 系统数据库还包括系统数据库还包括mssqlsystemresourcemssqlsystemresource,是一个隐藏的,是一个隐藏的数据库,系统数据库的节点下看不到。数据库,系统数据库的节点下看不到。 msdb msdb数据库是一个供系统使

7、用数据库是一个供系统使用的数据库,用于记录的数据库,用于记录SQL Server SQL Server AgentAgent的相关信息。的相关信息。 tempdb tempdb数据库用于保存所有数据库用于保存所有的临时表和临时存储过程。的临时表和临时存储过程。tempdbtempdb数据库在数据库在SQL Server 202XSQL Server 202X每次重启时依据每次重启时依据modelmodel数据库进行数据库进行重建。重建。 mssqlsystemresource mssqlsystemresource通常通常被简称为被简称为resourceresource数据库,它是数据库,它是

8、一个只读数据库,存放与一个只读数据库,存放与SQL SQL Server 202XServer 202X本身相关的系统对本身相关的系统对象。象。2 2数据库文件数据库文件 数据库文件是用来存储数据库数据和数据库对象的文件,一般存放在数据数据库文件是用来存储数据库数据和数据库对象的文件,一般存放在数据库安装目录或指定目录的库安装目录或指定目录的DataData文件夹下面,由数据库文件和事务日志文件组文件夹下面,由数据库文件和事务日志文件组成。成。(1 1)数据库文件)数据库文件主数据库文件(主数据库文件(Primary Database FilePrimary Database File)辅助数

9、据库文件(辅助数据库文件(Secondary Database FileSecondary Database File)一个数据库只能有一个主数据库文件,其扩展名为一个数据库只能有一个主数据库文件,其扩展名为.mdf.mdf。 一个数据库可以没有也可以同时拥有多个辅助数据库文件,一个数据库可以没有也可以同时拥有多个辅助数据库文件,其扩展名为其扩展名为.ndf.ndf。(2 2)事务日志文件)事务日志文件主文件组:建立数据库时默认会产生的文件群,包含主数据库文件。主文件组:建立数据库时默认会产生的文件群,包含主数据库文件。用户定义的文件组:由用户自己建立的文件组。用户定义的文件组:由用户自己建立

10、的文件组。默认文件组:默认文件组不是指不同于主文件组和用户定义的文件组之外默认文件组:默认文件组不是指不同于主文件组和用户定义的文件组之外的另一种文件组,而是指数据库目前默认使用的文件组。的另一种文件组,而是指数据库目前默认使用的文件组。二、创建数据库和表的方法二、创建数据库和表的方法可以通过可以通过SSMSSSMS中的命令或中的命令或SQLSQL语句两种方式来实现。语句两种方式来实现。实现方法将在任务实践和知识拓展中进行介绍。实现方法将在任务实践和知识拓展中进行介绍。三、用户、角色和架构三、用户、角色和架构 SQL Server 202X SQL Server 202X拥拥有强大的安全机制,

11、而有强大的安全机制,而这主要是通过用户、角这主要是通过用户、角色和架构来实现的。色和架构来实现的。任务实践任务实践任务一任务一 创建创建“学生选课系统学生选课系统”数据库数据库任务二任务二 创建创建studentInfostudentInfo表表任务三任务三 创建创建studentInfostudentInfo表与表与scoreInfoscoreInfo表间的关系表间的关系任务一任务一 创建创建“学生选课系统学生选课系统”数据库数据库在创建数据库之前,需要考虑以下几个问题:在创建数据库之前,需要考虑以下几个问题:数据库名称数据库名称数据库文件的初始大小及增长方式数据库文件的初始大小及增长方式主

12、要包括数据和索引两部分主要包括数据和索引两部分数据库的存储位置数据库的存储位置任务实施任务实施步骤步骤1 1 打开打开SSMSSSMS工具,连接到服务器后,在左窗格对象资源管理器中展开其树工具,连接到服务器后,在左窗格对象资源管理器中展开其树形目录,右击形目录,右击“数据库数据库”文件夹,在弹出的快捷菜单中选择文件夹,在弹出的快捷菜单中选择“新建数据库新建数据库”选选项,如图所示。项,如图所示。 步骤步骤2 2 打开的打开的“新建数据库新建数据库”对话框将默认显示对话框将默认显示“常规常规”选项页,填写数据库的名称将随之生成同名的主数据库文件和事务日志文件。设选项页,填写数据库的名称将随之生成

13、同名的主数据库文件和事务日志文件。设置数据库文件及日志文件的初始大小和增长方式然后单击置数据库文件及日志文件的初始大小和增长方式然后单击“确定确定”按钮,如图所按钮,如图所示。示。步骤步骤3 3 接着单击接着单击“新建数据库新建数据库”对话框中的对话框中的“确定确定”按钮,回到按钮,回到SSMSSSMS主窗主窗口,在左窗格对象资源管理器中可以看到,口,在左窗格对象资源管理器中可以看到,“数据库数据库”选项下增加了我们刚刚建选项下增加了我们刚刚建立的立的“CourseSelectCourseSelect”数据库,如图数据库,如图3-93-9所示。所示。 若对象资源管理器中暂时没有若对象资源管理器

14、中暂时没有显示新建的数据库,可以尝试单击显示新建的数据库,可以尝试单击对象资源管理器工具栏中的对象资源管理器工具栏中的“刷新刷新”按钮。按钮。 步骤步骤4 4 增加新的数据文件:在增加新的数据文件:在SSMSSSMS中右击需要修改中右击需要修改的数据库,选择的数据库,选择“属性属性”选项,进入选项,进入“数据库属性数据库属性”窗口,单击左窗格中窗口,单击左窗格中的的“文件文件”选项,然后单击右窗格下方的选项,然后单击右窗格下方的“添加添加”按钮,在按钮,在“数据库文件数据库文件”栏中将出现新添加的数据库文件即可,如图所示。栏中将出现新添加的数据库文件即可,如图所示。步骤步骤5 5 如果想要重命

15、名或删除数据库,可在如果想要重命名或删除数据库,可在SSMSSSMS中右击相应数据库,在弹中右击相应数据库,在弹出的快捷菜单中选择出的快捷菜单中选择“重命名重命名”或或“删除删除”选项。选项。任务二任务二 创建创建studentInfostudentInfo表表 此外,由于在此外,由于在adminadmin和和teacherInfoteacherInfo表中均存在密码列,这里我们自定义表中均存在密码列,这里我们自定义一种密码数据类型来方便创建其他表时使用。一种密码数据类型来方便创建其他表时使用。 studentInfo studentInfo表中,表中,studentPasswordstude

16、ntPassword字段用于存储学生的密码,系统最初为所字段用于存储学生的密码,系统最初为所有学生分配相同的密码(如有学生分配相同的密码(如666666666666),学生进行更改时设置要求输入不小于),学生进行更改时设置要求输入不小于6 6位的位的密码。这里,我们需要创建一个默认值和一个规则来实现上述要求。密码。这里,我们需要创建一个默认值和一个规则来实现上述要求。任务情境任务情境任务实施任务实施 首先创建首先创建passwordpassword数据类型的默认值为数据类型的默认值为“666666666666”,规则为长度不能小,规则为长度不能小于于6 6位,然后将默认值和规则绑定到该数据类型

17、,最后创建位,然后将默认值和规则绑定到该数据类型,最后创建studentInfostudentInfo表时应用表时应用此数据类型。此数据类型。步骤步骤1 1 打开打开SSMSSSMS后,单击工具栏中的后,单击工具栏中的“新建查询新建查询”按钮,并在工具栏中选择按钮,并在工具栏中选择“CourseSelectCourseSelect”数据库。在右窗格的查询窗口中输入左图中数据库。在右窗格的查询窗口中输入左图中T-SQLT-SQL语句(含义为创建语句(含义为创建默认值对象默认值对象passwordpassword,其值为,其值为“666666666666”),单击),单击“执行执行”按钮。命令运行

18、成功后,右窗格的按钮。命令运行成功后,右窗格的“消息消息”选项卡中将提示选项卡中将提示“命令已成功完成命令已成功完成”。同。同时在左窗格资源管理器时在左窗格资源管理器“CourseSelectCourseSelect”“可编程性可编程性”“默认值默认值”文件夹下面可以看到新建的对象,如右图所示。文件夹下面可以看到新建的对象,如右图所示。步骤步骤2 2 创建规则与默认值相似,在查询查询窗口中输入创建规则与默认值相似,在查询查询窗口中输入T-SQLT-SQL语句语句“CREATE CREATE RULE passwordLength_rule AS LEN(password) = 6RULE pa

19、sswordLength_rule AS LEN(password) = 6”(密码长度大于或等(密码长度大于或等于于6 6位),然后单击位),然后单击“执行执行”按钮。命令运行成功后,在左窗格资源管理器按钮。命令运行成功后,在左窗格资源管理器“CourseSelectCourseSelect”“可编程性可编程性”“规则规则”文件夹下面可以看到新建的文文件夹下面可以看到新建的文件。件。步骤步骤3 3 下面创建下面创建passwordpassword数据类型,在左窗格对象资源管理器中依次展开数据类型,在左窗格对象资源管理器中依次展开“CourseSelectCourseSelect”“可编程性可

20、编程性”“类型类型”文件夹,右击文件夹,右击“用户定义数据类型用户定义数据类型”对对象,在弹出的快捷菜单中选择象,在弹出的快捷菜单中选择“新建用户定义数据类新建用户定义数据类型型”选项,如左图所示。在选项,如左图所示。在“新建用户定义数据类型新建用户定义数据类型”对话框中输入自定义数据类对话框中输入自定义数据类型的名字型的名字passwordpassword及所依据的系统数据类型及所依据的系统数据类型varcharvarchar和长度和长度3232,如右图所示。,如右图所示。步骤步骤4 4 下面将默认值和规则绑定到下面将默认值和规则绑定到passwordpassword数据类型。单击对话框中默

21、认值右数据类型。单击对话框中默认值右侧的侧的 按钮,打开按钮,打开“选择对象选择对象”对话框,在该对话框中单击对话框,在该对话框中单击“浏览浏览”按钮打开按钮打开“查查找对象找对象”对话框,勾选之前创建的默认值,对话框,勾选之前创建的默认值,然后单击两次然后单击两次“确定确定”按钮,如图所示。按同样方式绑定规则。最后回到按钮,如图所示。按同样方式绑定规则。最后回到 “新建新建用户定义数据类型用户定义数据类型”对话框中,单击对话框中,单击“确定确定”按钮,即完成数据类型的创建。按钮,即完成数据类型的创建。步骤步骤5 5 下面我们开始创建下面我们开始创建studentInfostudentInfo

22、表。如左图所示,在左窗格对象资源管理表。如左图所示,在左窗格对象资源管理器中右击器中右击“CourseSelectCourseSelect”结点下的结点下的“表表”对象,在弹出的快捷菜单中选择对象,在弹出的快捷菜单中选择“新建表新建表”选项,在右窗格中依次输入选项,在右窗格中依次输入studentInfostudentInfo表的表的列名并为其选择正确的数据类型(注意列名并为其选择正确的数据类型(注意studentPasswordstudentPassword列选择自定义的列选择自定义的passwordpassword数据类型),然后单击数据类型),然后单击studentNumberstude

23、ntNumber列前的灰色方块列前的灰色方块 选中该列,选中该列,随后单击工具栏中的随后单击工具栏中的 按钮,将此列设为表的主键,如右图所示。按钮,将此列设为表的主键,如右图所示。步骤步骤6 6 表中信息填写完成后,单击工具栏中的表中信息填写完成后,单击工具栏中的“保存保存”按钮,将弹出按钮,将弹出“选择选择名称名称”对话框。如图所示,输入表的名字后单击对话框。如图所示,输入表的名字后单击“确定确定”按钮,即完成表的按钮,即完成表的创建。创建。 步骤步骤7 7 向新创建的表中输入几条测试数据以验证之前创建的默认值和规则。如左图所示,向新创建的表中输入几条测试数据以验证之前创建的默认值和规则。如

24、左图所示,在左窗格对象资源管理器中依次展开在左窗格对象资源管理器中依次展开“CourseSelectCourseSelect”“表表”结点,右击结点,右击“”“”文件夹,在弹出的快捷菜单中文件夹,在弹出的快捷菜单中选择选择“编辑前编辑前200200行行”选项,然后在右窗格输入测试数据:输入学号信息并按回选项,然后在右窗格输入测试数据:输入学号信息并按回车键,该条记录将自动添加密码车键,该条记录将自动添加密码“666666666666”;将密码改为;将密码改为3 3位后,系统将提示位后,系统将提示出错,如右图所示。出错,如右图所示。任务三任务三 创建创建studentInfostudentInf

25、o表与表与scoreInfoscoreInfo表间的关系表间的关系任务情境任务情境 将将1414个表创建完成后,为保证参照完整性,还需要创建表与表之间的个表创建完成后,为保证参照完整性,还需要创建表与表之间的外键关系。外键关系。任务实施任务实施步骤步骤1 1 打开打开SSMSSSMS后,单击左窗格资源管理器后,单击左窗格资源管理器“CourseSelectCourseSelect”文件下的文件下的“数据库数据库关系图关系图”对象,在弹出的快捷菜单中选择对象,在弹出的快捷菜单中选择“新建数据库关系图新建数据库关系图”选项,如图所示。选项,如图所示。步骤步骤2 2 弹出的弹出的“添加表添加表”对话

26、框,按住对话框,按住【ShiftShift】键选中已经建立的键选中已经建立的1414张表,张表,然后单击然后单击“添加添加”按钮,如右图所示。按钮,如右图所示。步骤步骤3 3 默认情况下,这默认情况下,这1414张表在张表在SSMSSSMS右窗格中将以缩略图,我们仅以创建右窗格中将以缩略图,我们仅以创建studentInfostudentInfo和和scoreInfoscoreInfo表之间的外键关系为例进行讲解。选中表之间的外键关系为例进行讲解。选中scoreInfoscoreInfo表中表中的的studentNumberstudentNumber列,然后参照图中所示拖拽鼠标至列,然后参照图

27、中所示拖拽鼠标至studentInfostudentInfo表中的表中的studentNumberstudentNumber列,当光标箭头旁边出现列,当光标箭头旁边出现“+ +”号时,松开鼠标。号时,松开鼠标。步骤步骤4 4 如图如图3-213-21所示,系统将连续打开两个对话框,此时我们只能操作所示,系统将连续打开两个对话框,此时我们只能操作“表和列表和列”对话框,确认建立关系的主外键中的表和列正确,单击对话框,确认建立关系的主外键中的表和列正确,单击“确定确定”按钮,接下来我们就按钮,接下来我们就可以操作可以操作“外键关系外键关系”对话框了。对话框了。步骤步骤5 5 如左图所示,展开该对话

28、框中如左图所示,展开该对话框中“INSERTINSERT和和UPDATEUPDATE规范规范”结点,单击结点,单击“更新规则更新规则”右侧的右侧的 按钮,选择按钮,选择“级联级联”选项。按同样的方式设置选项。按同样的方式设置“删除删除”规则也为规则也为“级联级联”。右图显示了创建完成的外键关系。右图显示了创建完成的外键关系。知识拓展知识拓展一、修改表结构及设置标识列一、修改表结构及设置标识列二、使用二、使用T-SQLT-SQL语句创建数据库和表语句创建数据库和表三、数据完整性三、数据完整性一、修改表结构及设置标识列一、修改表结构及设置标识列修改表结构修改表结构 右击该表,在弹出的快捷菜单中选择

29、右击该表,在弹出的快捷菜单中选择“设计设计”选项,在选项,在SSMSSSMS右窗格中可右窗格中可进行修改。进行修改。增加或删除列增加或删除列行列名和数据类型的更改行列名和数据类型的更改 默认情况下,若增加或删除列,应先删除表再重新建立。这里先更改数默认情况下,若增加或删除列,应先删除表再重新建立。这里先更改数据库的默认设置。选择据库的默认设置。选择“工具工具”“选项选项”菜单,在弹出的菜单,在弹出的“选项选项”对话框对话框左窗格中展开左窗格中展开“DesignersDesigners”结点,选择结点,选择“表设计和数据库设计器表设计和数据库设计器”选项,去选项,去掉右窗格中掉右窗格中“阻止保存

30、要求重新创建表的更改阻止保存要求重新创建表的更改”前的框选符号,单击前的框选符号,单击“确定确定”按按钮。钮。 接下来右击表中某列,在弹出的快捷菜单中选择接下来右击表中某列,在弹出的快捷菜单中选择“插入列插入列”或或“删除列删除列”选项,然后编辑新添加的列,最后保存表即可,如图所示。选项,然后编辑新添加的列,最后保存表即可,如图所示。设置标识列设置标识列步骤步骤1 1 在表结构可编辑的状态下,选中所需设置的列,展开下方在表结构可编辑的状态下,选中所需设置的列,展开下方“列属性列属性”选项卡中选项卡中“标识规范标识规范”结点,如图所示。结点,如图所示。步骤步骤2 2 将将“标识规范标识规范”和和

31、“( (是标识是标识) )”右侧单元格中数据设为右侧单元格中数据设为“是是”,然后填写,然后填写“标识增量标识增量”和和“标识种子标识种子”后,最后单后,最后单击击“保存保存”按钮。按钮。二、使用二、使用T-SQLT-SQL语句创建数据库和表语句创建数据库和表(一)(一)T-SQLT-SQL语句语句 T-SQL T-SQL语句分为四大类:数据定义语句(语句分为四大类:数据定义语句(DDLDDL)、数据操作语句()、数据操作语句(DMLDML)、)、数据控制语句(数据控制语句(DCLDCL)和一些附加的语言元素。)和一些附加的语言元素。数据定义语句(数据定义语句(DDLDDL):用来定义和管理数据库对象。常用命令关键字包括):用来定义和管理数据库对象。常用命令关键字包括CREATECREATE、ALTERALTER和和DROPDROP等。等。数据操作语句(数据操作语句(DMLDML):用于查询和更新数据。常用命令关键字包括):用于查询和更新数据。常用命令关键字包括SELECTSELECT、INSERTINSERT、UPDATEUPDATE和和DELETEDELETE等。等。数据控制语句(数据控制语句(DCLDCL):用于设置数据库操作对象的权限。常用命令关键字):用于设置数据库操作对象的权限。常用命令关

温馨提示

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

评论

0/150

提交评论