创建数据库和表
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.数据库文件
数据库文件是用来存储数据库数据和数据库对象的文件,一般存放 在数据库安装目录或指定目录的Data文件夹下面,由数据库文件和事务 日志文件组成。 (1)数据库文件 主数据库文件(Primary Database File) 一个数据库只能有一个主数据库文件,其扩展名为.mdf。
辅助数据库文件(Secondary Database File)
SQL Server 2008数据库设计 高级案例教程
项目三共分为三个任务
项目三 新建数据库和表
了解SQL Server 2008中数据库的存储结构 掌握使用SSMS创建、修改及删除数据库、表和关系的方法 熟悉T-SQL语言并熟练编写管理数据库和表的语句
理解SQL Server 2008中的数据完整性机制
二、创建数据库和表的方法
可以通过SSMS中的命令或SQL语句两种方式来实现。 实现方法将在任务实践和知识拓展中进行介绍。
Байду номын сангаас、用户、角色和架构
服务器登录名
映 射
属于
服务器角色
SQL Server 2008
数据库用户
属于
数据库角色
拥有强大的安全机制, 而这主要是通过用户、
拥 有
拥 有
数据库架构
拥 有
任务实施
步骤1 打开SSMS工具,连接到服务器后,在左窗格对象资源管理器 中展开其树形目录,右击“数据库”文件夹,在弹出的快捷菜单中选 择“新建数据库”选项,如图所示。
步骤2
打开的“新建数据库”对话框将默认显
示“常规”选项页,填写数据库的名称将随之生成同名的主数据库文 件和事务日志文件。设置数据库文件及日志文件的初始大小和增长方 式然后单击“确定”按钮,如图所示。
一个数据库可以没有也可以同时拥有多个辅助数据库文件, 其扩展名为.ndf。
(2)事务日志文件
主文件组:建立数据库时默认会产生的文件群,包含主数据库文件。
用户定义的文件组:由用户自己建立的文件组。 默认文件组:默认文件组不是指不同于主文件组和用户定义的文件
组之外的另一种文件组,而是指数据库目前默认使用的文件组。
句(含义为创建默认值对象password,其值为“666666”),单击“执行” 按钮。命令运行成功后,右窗格的“消息”选项卡中将提示“命令已成功 完成”。同时在左窗格资源管理器“CourseSelect”→“可编程性”→ “默认值”文件夹下面可以看到新建的对象dbo.password,如右图所示。
任务二
创建studentInfo表
任务情境 studentInfo表中,studentPassword字段用于存储学生的密码, 系统最初为所有学生分配相同的密码(如666666),学生进行更改时
设置要求输入不小于6位的密码。这里,我们需要创建一个默认值和一
个规则来实现上述要求。 此外,由于在admin和teacherInfo表中均存在密码列,这里我们 自定义一种密码数据类型来方便创建其他表时使用。
Server 2008 的总控数据库, 常被简称为 有的临时表和临时存储过程。 resource 数据库, msdb model 数据库是一个供系统 数据库作为 SQL 用于记录系统配置信息、跟 它是一个只读数据库,存放与 tempdb 数据库在 SQL Server Server 使用的数据库,用于记录 2008的原型数据库, SQL
索引大小增长到八页时,它们就会被存放到专供自己使用的统一区 中,以提高访问效率。
(二)逻辑存储结构
1.系统数据库和用户数据库
系统数据库在安装好SQL Server 2008软件后就已经存在;
用户数据库是指由用户建立的数据库。
master 数据库是SQL mssqlsystemresource tempdb 数据库用于保存所 通
步骤3 接着单击“新建数据库”对话框中的“确定”按钮,回到SSMS
主窗口,在左窗格对象资源管理器中可以看到,“数据库”选项下增 加了我们刚刚建立的“CourseSelect”数据库,如图3-9所示。
若对象资源管理器中暂时
没有显示新建的数据库,可以 尝试单击对象资源管理器工具
栏中的“刷新”按钮。
步骤4
“选项”对话框左窗格中展开“Designers”结点,选择“表设计和
数据库设计器”选项,去掉右窗格中“阻止保存要求重新创建表的更 改”前的框选符号,单击“确定”按钮。
接下来右击表中某列,在弹出的快捷菜单中选择“插入列”或
“删除列”选项,然后编辑新添加的列,最后保存表即可,如图所示。
设置标识列
步骤1
理论指导
一、SQL Server 2008中数据库存储结构 二、创建数据库和表的方法 三、用户、角色和架构
一、SQL Server 2008中数据库存储结构
图1-1 超市收款结算
物理存储结构是指SQL Server 2008中数据库对象在磁盘上的存储方式, 逻辑存储结构是指操作系统和SQL Server 2008所展示的存储方式。 (一)物理存储结构 页是SQL Server中存储数据的最基本单 位,当表需要空间存放数据时,SQL Server 以页为单位分配空间给表,每页的大小为 8KB。标头96字节,存储页码、页类型、页 的可用空间等信息。每存放一个记录,页尾 就会再用两个字节来存放代表记录位置的行 偏移及其他信息。
角色和架构来实现的。
数据库对象 表、视图、存储过程等
任务实践
任务一 任务二
任务三
创建“学生选课系统”数据库 创建studentInfo表
创建studentInfo表与scoreInfo表间的关系
任务一
创建“学生选课系统”数据库
在创建数据库之前,需要考虑以下几个问题: 数据库名称 数据库文件的初始大小及增长方式 主要包括数据和索引两部分 数据库的存储位置
中该列,随后单击工具栏中的
示。
按钮,将此列设为表的主键,如右图所
步骤6
表中信息填写完成后,单击工具栏中的“保存”按钮,将弹出
“选择名称”对话框。如图所示,输入表的名字后单击“确定”按钮,
即完成表的创建。
步骤7
向新创建的表中输入几条测试数据以验证之前创建的默认值和规
则。如左图所示,在左窗格对象资源管理器中依次展开“CourseSelect”
步骤4 如图3-21所示,系统将连续打开两个对话框,此时我们只能操 作“表和列”对话框,确认建立关系的主外键中的表和列正确,单击
“确定”按钮,接下来我们就可以操作“外键关系”对话框了。
步骤5 如左图所示,展开该对话框中“INSERT和UPDATE规范”结点, 单击“更新规则”右侧的 按钮,选择“级联”选项。按同样的方式 设置“删除”规则也为“级联”。右图显示了创建完成的外键关系。
步骤5
下面我们开始创建studentInfo表。如左图所示,在左窗格对象
资源管理器中右击“CourseSelect”结点下的“表”对象,在弹出的快 捷菜单中选择“新建表”选项,在右窗格中依次输入studentInfo表的 列名并为其选择正确的数据类型(注意studentPassword列选择自定义 的password数据类型),然后单击studentNumber列前的灰色方块 选
当数据库需要空间存储表、索引等数据库对象时,SQL Server会 以区为单位分配空间。
区是八个物理上连续的页的集合,SQL Server有两种类型的区: 混合区:区中八页的每页可由不同的对象所有。例如区中有两页由A 表使用,有一页由B索引使用,当建立新的表或索引时,SQL Server
会查找此区中尚未使用的页来存放。 统一区:区中的所有八页只能由单个对象使用。当混合区中的表和
在表结构可编辑的状态下,选中所需设置的列,展开下方
“列属性”选项卡中“标识规范”结点,如图所示。
步骤2 将“标识规范”和“(是
标识)”右侧单元格中数据设为 “是”,然后填写“标识增量”
和“标识种子”后,最后单击
“保存”按钮。
二、使用T-SQL语句创建数据库和表
(一)T-SQL语句 T-SQL语句分为四大类:数据定义语句(DDL)、数据操作语句
增加新的数据文件:在SSMS中右击需
要修改的数据库,选择“属性”选项,进入“数据库属性”窗口,单 击左窗格中的“文件”选项,然后单击右窗格下方的“添加”按钮, 在“数据库文件”栏中将出现新添加的数据库文件即可,如图所示。
步骤5 如果想要重命名或删除数据库,可在SSMS中右击相应数据 库,在弹出的快捷菜单中选择“重命名”或“删除”选项。
步骤4
下面将默认值和规则绑定到password数据类型。单击对话框中
默认值右侧的
按钮,打开“选择对象”对话框,在该对话框中单
击“浏览”按钮打开“查找对象”对话框,勾选之前创建的默认值, 然后单击两次“确定”按钮,如图所示。按同样方式绑定规则。最后 回到 “新建用户定义数据类型”对话框中,单击“确定”按钮,即完 成数据类型的创建。
步骤3
下面创建password数据类型,在左窗格对象资源管理器中依次
展开“CourseSelect”→“可编程性”→“类型”文件夹,右击“用户 定义数据类型”对象,在弹出的快捷菜单中选择“新建用户定义数据类
型”选项,如左图所示。在“新建用户定义数据类型”对话框中输入自
定义数据类型的名字password及所依据的系统数据类型varchar和长度 32,如右图所示。
知识拓展
一、修改表结构及设置标识列 二、使用T-SQL语句创建数据库和表 三、数据完整性
一、修改表结构及设置标识列
修改表结构 行列名和数据类型的更改 右击该表,在弹出的快捷菜单中选择“设计”选项,在SSMS右窗 格中可进行修改。 增加或删除列 默认情况下,若增加或删除列,应先删除表再重新建立。这里先 更改数据库的默认设置。选择“工具”→“选项”菜单,在弹出的
任务情境 将14个表创建完成后,为保证参照完整性,还需要创建表与表之 间的外键关系。 任务实施 步骤1 打开SSMS后,单击左窗格资源管理器“CourseSelect”文件下 的“数据库关系图”对象,在弹出的快捷菜单中选择“新建数据库关 系图”选项,如图所示。
步骤2
弹出的“添加表”对话框,
按住【Shift】键选中已经建立的 14张表,然后单击“添加”按钮,
如右图所示。
步骤3 默认情况下,这14张表在SSMS右窗格中将以缩略图,我们仅以 创建studentInfo和scoreInfo表之间的外键关系为例进行讲解。选中 scoreInfo表中的studentNumber列,然后参照图中所示拖拽鼠标至 studentInfo表中的studentNumber列,当光标箭头旁边出现“+”号时, 松开鼠标。
(DML)、数据控制语句(DCL)和一些附加的语言元素。 数据定义语句(DDL):用来定义和管理数据库对象。常用命令关键
任务实施
首先创建password数据类型的默认值为“666666”,规则为长度 不能小于6位,然后将默认值和规则绑定到该数据类型,最后创建 studentInfo表时应用此数据类型。
步骤1 打开SSMS后,单击工具栏中的“新建查询”按钮,并在工具栏中选 择“CourseSelect”数据库。在右窗格的查询窗口中输入左图中T-SQL语
踪用户数据库、管理系统资 SQL 2008 Server 每次重启时依据 2008 本身相关的 model数据 是系统创建所有数据库的模板。 Server Agent 的相关信息。 源分配以及响应SQL语句等。 系统对象。 库进行重建。
系统数据库还包括mssqlsystemresource,是 一个隐藏的数据库,系统数据库的节点下看不到。
→“表”结点,右击“dbo.studentInfo”文件夹,在弹出的快捷菜单中 选择“编辑前200行”选项,然后在右窗格输入测试数据:输入学号信息 并按回车键,该条记录将自动添加密码“666666”;将密码改为3位后, 系统将提示出错,如右图所示。
任务三
创建studentInfo表与scoreInfo表间的关系
步骤2
创建规则与默认值相似,在查询查询窗口中输入T-SQL语句
“CREATE RULE passwordLength_rule AS LEN(@password) >= 6” (密码长度大于或等于6位),然后单击“执行”按钮。命令运行成功 后,在左窗格资源管理器“CourseSelect”→“可编程性”→“规则” 文件夹下面可以看到新建的文件。