当前位置:首页 >> 其它技巧 >>

第五章 数据库及表的操作_图文

第五章 数据库及表的操作
? 数据库和表是SQL

Server 用于组织和管 理数据的基本对象,其中表是数据库中最 重要的部分,表的主要作用:数据存储、 查询,为了提高查询(搜索)能力引入了 索引机制;为了有效管理数据库中的信息, 又采用约束/默认值/规则等。 ? 创建及修改数据库 ? 管理数据库表
1

第五章 数据库及表的操作
? 演示案例:学生成绩管理系统数据库STU

2

第五章 数据库及表的操作
学生表(student) 字段名描述 学生编号 姓名 性别 字段名 student_id student_name student_sex 数据类型 int char char 长度 4 20 2 键型 主键 备注 自增型 非空 非空

年龄
电话 地址 状态

student_age
student_phone student_address active_status

int
int varchar char

4
15 50 2

非空
非空

3

第五章 数据库及表的操作
课程表(course) 字段名描述 课程记录号 课程编号 字段名 course _id course _no 数据类型 int Char 长度 4 6 键型 主键 备注 自增型 非空

课程名称
学时 学分 状态

course _name
course _hour course _credit active_status

char
char int char

20
20 4 2

非空
非空 非空 非空
4

第五章 数据库及表的操作
成绩表(score) 字段名描述 成绩记录号 字段名 score _id 数据类型 int 长度 4 键型 主键 备注 自增型

学生编号 课程编号 成绩

student_no course _no score

char Char float

6 6 6

外键 外键

非空 非空 非空

状态

active_status

char

2

非空

5

5.1 创建及修改数据库
5.1.1 创建数据库 ? 1. 基本概念 ? 数据库是SQL Server 存储和管理数据的对象, 下面从逻辑和物理角度讨论数据库组成结构。 ? 逻辑数据库: ? 从逻辑角度看,数据库由存放数据的表及支持 这些数据的存储、检索、安全性、完整性的对 象所组成,这些逻辑成分被称为数据库对象。
?
6

5.1 创建及修改数据库
?

主要包括表table、数据类型datatype、视图 view、索引index、存储过程stored procedure、 触发器trigger、约束constraint,各对象说明如 下表:
说明

数据库对象


数据类型

行列构成的集合,用于存储数据,最重要的 数据库对象
定义列的数据类型,除了系统数据类型,也 允许用户自定义数据类型
7

5.1 创建及修改数据库
视图 索引 由表或其他视图导出的虚拟表 为数据快速检索提供支持、并保证数据唯一 性的辅助数据结构,数据库中的索引与书籍 中的索引或目录类似。 为列定义完整性规则 为列提供默认值 存在服务器中的预先编译好的一组SQL语句, 可作为函数调用,与批处理有区别。

约束 默认值 存储过程

触发器

特殊存储过程,当表中数据改变时自动执行 实现数据完整性,如几个表中的关联数据, 当一个表数据改变时,触发器自动改变其他 表的数据。

8

5.1 创建及修改数据库
每个表都有一个名字,表的构成:关系数据库是 按照二维表的结构方式组织的数据集合,每个表 即为一个关系,表的行为记录,表的列为字段。 一个或多个字段组合如能唯一地标识记录,为候 选关键字;如果一个表中有多个候选关键字, 则选其一为主健。 ? 表分2类:实体表和实体之间的联系表。 实体表:如学生表、课程表 联系表:如成绩表,通过主/外健将学生与课程 实体进行了连接。
?
9

5.1 创建及修改数据库
数据库对象的命名规则:数据库对象名可用完 全限定名或部分限定名来标识。 ? 对象的完全限定名: server.database.owner.object,即服务器名.数 据库名.所有者名.对象名,所有者指数据库用户 或所有者(dbo). ? 对象的部分限定名: 前三者可以单独或全部省略,但之间的圆点“.” 不能省略;系统会默认当前的环境。 如:kkk.stud.dbo.course;kkk..dbo.course; kkk...course;dbo.course;course 10
?

5.1 创建及修改数据库
? 物理数据库: ? 从物理角度看,一个数据库至少包含一

个数据库文件和一个事务日志文件。 ? 数据库文件存放数据和数据库逻辑对象, 一个数据库可以有一个或多个数据库文 件,其中一个且是唯一的一个被定义主 数据库文件,扩展名为.mdf,如master 数据库的主文件master.mdf,其存储数 据库的启动信息、部分或全部数据。
11

5.1 创建及修改数据库
其他数据库文件被称为次文件,扩展名.ndf。 当数据库非常大时,主文件不能容纳所有数 据时,则用次文件存放;次文件可放在不同 的硬盘上,这样可以同时对几个硬盘做存取, 提高了数据处理效率,这对服务器极其重要。 ? 事务日志文件.ldf,包含用于恢复数据库的日 志信息,一个数据库可以有多个日志文件。 SQL Server采用提前写方式:将更改操作先 写入日志,再改计算机缓存中的数据,为了 减少I/O操作,系统间隔一定的时间会批量修 改硬盘中的数据。--其在更改数据时设置开始 点和结束点。
?

12

5.1 创建及修改数据库
文件组是多个数据库文件的集合,将文件组 织在一起是为了管理和分配数据,将特定的 表、索引等与该文件组进行关联,这样可以 提高表中数据的查询性能。 ? 一个文件组只能被一个数据库使用。文件组 分主/次文件组,主文件组包括所有的系统表。 ? 文件组的成员只能是数据文件,而不能是日 志文件。 ? 主文件组一般是默认的,也可以在次文件组 中重新建立一个默认组,主数据库文件及未 指定的其他文件放在默认组。
?
13

5.1 创建及修改数据库
? 2.创建数据库 ? 只有系统管理员和被授权使用CREATE

DATABASE语句的用户才能创建数据库。 ? 创建数据库时需要确定数据库名、所有者 即数据库用户、数据库大小、存储数据库 的文件。一个服务器最多包含32767个数 据库。 ? 3种数据库创建方式:企业管理器、向导 (wizard)、使用T-SQL语句。
14

5.1 创建及修改数据库
用企业管理器创建数据库:演示见p47 ? 用向导创建数据库:企业管理器-工具-向导-创 建数据库向导-… ? 命令方式创建数据库:用T-SQL语句CREATE DATABASE创建数据库,启动查询分析器,输 入以下内容: CREATE DATABASE SSS ON (NAME=‘sss_Data’, FILENAME=‘c:\..\sss_Data.mdf,
?
15

5.1 创建及修改数据库
SIZE=1MB, MAXSIZE=10MB, FILEGROWTH=10%) LOG ON (NAME=‘stud_Log’, FILENAME= ‘c:\..\sss_Data.ldf’, SIZE=1MB, MAXSIZE=5MB, FILEGROWTH=10%) GO
16

5.1 创建及修改数据库
3.数据库文件的命名 数据库的名称最长为128个字符,包含5个 逻辑后缀字符,不区分大小写。 ? 4.设置数据库属性 ? 常规选项卡:维护计划-定期自动备份、完 整性检查等。排序规则-指定表示每个字符 的位模式以及存储和比较字符所使用的规则。 不同数据库之间如果排序规则不同,跨数据 库查询时就易出错。一般情况下都选择默认。
?
17

5.1 创建及修改数据库
数据文件和事务日志:更改文件名、路径、大 小等。 ? 文件组:增删文件组。 ? 选项:限制访问(单用户指同一时间只能有一 个用户在使用)、残缺页检测(每页为8KB, 页是数据库内容的基本存储单位)、自动关闭、 自动收缩(未用空间超25%时)、统计信息 (数据库列的使用统计)、兼容性(以前版本 数据库兼容)。 ? 权限:数据库操作权限设置。
?
18

5.1 创建及修改数据库
浏览数据库 ? 在企业管理器中,以目录树方式浏览数据库 的各个对象:关系图、表、视图、存储过程、 用户、角色、规则、默认、数据类型、函数。
? 5.1.2

19

5.1 创建及修改数据库
5.1.3 修改数据库 ? 更改数据库名称:只能用T-SQL语句更改,而 不能用企业管理器;并且数据库在单用户模式 和关闭状态下才能更改。 ALTER DATABASE ssss MODIFY NAME=ssss1 GO ? 扩充数据或日志空间 右击数据库-属性-…更改数据文件和事务日志 选项卡的内容
?
20

5.1 创建及修改数据库
收缩数据或日志空间:右击数据库-所有任务-收 缩数据库-… 调度更改来实现自动收缩。 可以对各个文件分别收缩。 ? 分离/附加数据库至服务器 右击数据库-所有任务-分离或附加数据库-… 为了复制数据库文件,将数据库从其服务器中分 离出来。 将某数据库附加至服务器中。
?
21

5.1 创建及修改数据库
5.1.4. 删除数据库 右击数据库-删除-… 数据库正在使用、恢复、包含复制的对象时不能被 删。 ? 5.1.5. 系统数据库 ? 一个服务器最大可包含32767个数据库,数据库分 为2类:系统数据库和用户数据库。 系统数据库Master/Model/Msdb/Tempdb存在安装 目录/MSSQL/Data文件夹中。
?
22

5.1 创建及修改数据库
Master:包含60个系统表和系统存储过程,记 录了服务器的系统信息:所有登录信息、系统 设置信息、初始化信息、其他系统数据库和用 户数据库信息如主文件地址等,见主要表。 ? Model:模板数据库,包含19个系统表和一些 视图,各个系统表为每个用户数据库共享。当 创建一个用户数据库时,Model数据库内容会自 动复制到该用户数据库中。因此,将常用到的 数据库对象如数据库容量、规则、数据类型等 放在Model数据库中,可简化新数据库的创建。
?
23

5.1 创建及修改数据库
Msdb:企业管理器、事件探查器等产生的计划 信息、跟踪信息、警报信息、备份信息等都存 储在Msdb,为SQL Server Agent调度信息和作 业记录提供存储空间。 ? Tempdb:临时存储空间,如临时表、临时存 储过程、临时排序、游标筛选的数据等都存在 此处。退出Server时,这些对象将消失;每次 启动Server ,则Tempdb 数据库被重设为初始 状态。 注意:一个服务器只有一个Tempdb数据库, 无论该服务器有多少个数据库。
?
24

5.1 创建及修改数据库
? 5.1.6.实例数据库
? 用户数据库:SQL

Server提供了Pubs和 Northwind两个实例数据库作为学习用。 pubs-图书出版公司 northwind-公司销售

25

5.2 管理数据库表
表是存储全部数据的数据库对象,是数据库中 最重要的部分。表永久性存在数据库文件中。 ? 每个表最多可有1024列,每个数据库最多含 200万个表。 ? 创建表的过程就是定义表的列的过程,列的命 名和表一样都要遵守标识符规则;同一数据库 中不同的表可以使用相同的列名。 ? 列必须遵守一定数据类型,数据类型见后。
?

26

5.2 管理数据库表
5.2.1 创建数据库表 ? 用表设计器创建表:student表、course表。 p58 ? 用数据库设计器在数据库关系图中创建表: score表。P59 ? 用SQL语句创建表 CREATE TABLE student( Id char(10) PRIMARY KEY, Name char(20) NOT NULL, Age tinyint NULL)
?

27

5.2 管理数据库表
?

列的属性如下: 长度: 允许NULL: 默认值: 精度: 小数位数: 自动标识: 递增量: 唯一行号:RowGuid 公式:计算列 排序规则:
28

5.2 管理数据库表
完整性实现 ? 创建并使用主键、外键、规则、约束等定 义表或单个列的数据的限制条件,自动实 现和保持三种数据库完整性。 ? 详见其他章节。
? 5.2.2

29

5.2 管理数据库表
5.2.3 自定义数据类型 ? SQL Server具有的数据类型: 整数型:int(-231~231-1),smallint,tinyint,bigint 浮点型:float,real,有舍入误差,精度可指定 十进制:decimal,numeric,不带舍入的精确浮点数 字符型:nchar,ntext,用单或双引号括起来 时间型:datetime(3.33ms),smalldatetime(1min) 货币型:money,smallmoney 位型:bit
?
30

5.2 管理数据库表
二进制型:binary,varbinary,image 时间戳型:timestamp,在一个表中设一个时间 戳型的列,增加新行时在原来的戳值上加一增 量,是相对时间,为二进制8字节,类似版本 戳,具有唯一性。 全局唯一标识符:uniqueidentifier(GUID) ? 自定义数据类型: 数据库-用户定义的数据类型? 删除自定义数据类型:
31

5.2 管理数据库表
查看表/修改表/删除表 ? 查看:右击表选属性---? 修改:右击表选设计表---? 删除:右击表选删除----:先删除与此表相关 联的表中的外关键字约束,而与此表绑定的 规则或默认值自动松绑。
? 5.2.4

32

5.2 管理数据库表
5.2.5 添加修改记录中数据 ? 创建数据库和表后,就可对表中数据进行操作, 即更新和查询,更新包括插入、删除和修改 ? 服务器端直接操作:右击指定表-打开表-所有 行,在该窗口更新表: 插入:选定空行,逐一字段输入回车… 修改:选定字段 … 删除:…. ? 客户端上应用程序操作:
?
33

5.2 管理数据库表
5.2.6 访问表: ? 所有行内容:右击-打开表-所有行-… ? 前几行内容:输入行数 ? 有条件访问:右击-打开表-查询,出现查询设 计器,有四个窗口: ? 关系图窗格:显示表结构。 ? 网格窗格:指定显示列名等查询条件。 ? SQL窗格:查询语句。 ? 结果窗格:显示满足条件的数据,可以进一步 对数据进行更新操作。
?
34


相关文章:
第五章 数据库的基本操作_图文.ppt
第五章 数据库的基本操作 - Visual FoxPro 章目录 1 Visual FoxPro 5.1 数据库的建立 5.2 数据库的操作 5.3 建立与修改数据库 2 Vi...
第五章 数据库的操作_图文.ppt
第五章 数据库的操作 - Visual FoxPro 程序设计 本节内容 第五章 数据库的操作 5.1 数据库的操作 5.2 设置数据字段信息 5.3 数据库间关系和参照完整性...
第五章 数据库创建与操作分析_图文.ppt
第五章 数据库的创建与操作第一节 数据库的建立与基本操作 第二节 在数据库中操作表 第三节 多表操作 第四节 数据的完整性 上一页 下一页 1 第一节 ...
第五章SQLserver2005数据表的创建与操作_图文.ppt
第五章SQLserver2005数据表的创建与操作 - 第五章 SQL server2005数据表的创建与操作 学习要求: 掌握数据表的创建、修改、删除方法;掌 握数据表数据的插入、...
第五章 数据库与表_图文.ppt
第五章 数据库与表 - 学习目标 ?掌握表的创建方法、表的打开和关闭、 表结构的操作表数据输入和表数据的维护 ?掌握表的维护:命令格式、记录的基本操 作和...
数据库第五章_图文.ppt
数据库第五章_工学_高等教育_教育专区。第5章 窗体 1 本章主要内容窗体概述...修改操作 控件类型 绑定型:与表或查询中某个字段相关联,用于显示、输 入及...
第五章 数据库完整性_图文.ppt
第五章 数据库完整性_计算机软件及应用_IT/计算机_专业资料。数据库完整性 ...违约处理对参照表和被参照表进行增删改操作时必须进行检查被参照表(Student) ...
数据库技术及应用第五章_图文.ppt
数据库技术及应用第五章 - 数据库技术及应用 Visual FoxPro 李雁翎 编著 高等教育出版社 1 第5章 Visual FoxPro 操作基础 2 本章要点 掌握数据类型...
第五章数据库窗体与报表_图文.ppt
? 信息显示和数据打印 第五章 窗体与报表 3.窗体的分类 数据操作窗体、控制窗
第五章一个数据库应用系统的设计及实现_图文.ppt
第五章一个数据库应用系统的设计及实现 - 第五章 一个数据库应用系统的 设计与实
数据库原理第五章_图文.ppt
数据库原理第五章_计算机软件及应用_IT/计算机_专业资料。数据库,SQL Servel ...(常见的触发事件就是对数据表 的 insert 、 delete 、 update 操作)进行触发...
数据库系统原理及应用-第五章SQL_图文.ppt
数据库原理及应用第五章 SQL 第5章 关系数据库标准语言SQL 5.1 SQL概述及...外模式和内模式,以实现对基本表、视图以 及索引文件定义、修改删除等操作...
第五章 数据库保护_图文.ppt
? 1.权限种类 对数据库对象的权限,包括创建、删除和修改数据库对象对数据库数据的操作权,包括对表、视图数据增、删、改、查权 2.数据库用户的分类 (1)...
第五章数据的组织与管理._图文.ppt
第五章数据的组织与管理. - 第七章 数据库管理软件 Access 2003的使用 本章主要内容 1 2 3 4 认识数据库 创建数据库 建立表 建立查询 7.1 数据库系统的...
第五章 数据库窗体与报表_图文.ppt
二、掌握设计报表方法,掌握创建报 表的操作方法,掌握报表使用方法,了 解...? 信息显示和数据打印 第五章 窗体与报表 第五章 窗体与报表 3.窗体的分类 ...
第五章 数据库物理存储_图文.ppt
第五章 数据库物理存储 - 第五章 数据库存储结构 在SQL标准中,数据库按三级模式构建,它 们是:视图(子模式)、基本表(模式)、 存放数据的操作系统文件(存储...
第五章 数据库安全保护_图文.ppt
第五章 数据库安全保护_计算机软件及应用_IT/计算机_专业资料。文档均来自网络,...1、数据库的安全性 例:扩充后的授权表 用户名 数据对象名 允许的操作类型 ...
第五章SQLserver2005数据表的创建与操作_图文.ppt
第五章SQLserver2005数据表的创建与操作 - 第五章 SQL server2005数据表的创建与操作 学习要求: 掌握数据表的创建、修改、删除方法;掌 握数据表数据的插入、...
5第五章 报表的应用_图文.ppt
报表是Access数据库 第五章 报表的应用 5-1 认识报表 5-2 创建
数据库第五章_图文.ppt
直接或编写应用程序执行非授权操作 ? 通过多次合法查询数据库从中推导出一些保密...[例2] 把对Student表和Course表的全部权限授予用 户U2U3 GRANT ALL PRIVIL...