前言
模型分类
根据应用目的,模型分为两个层次:
- 概念模型(信息模型):也是按用户观点来对数据和信息建模,主要用于数据库设计。
- 数据模型(网状、层状、关系):从计算机观点来看,它是按计算机系统的观点对数据建模,主要用于DBMS的实现。
概念模型
概念模型是将数据从现实世界向抽象世界转换的第一步模型
数据模型
当前流行的基本数据模型有三类:
- 层次模型(Hierarchical Model)
- 网状模型(Network Model)
- 关系模型(Relational Model)
术语
- 域(Domain)是一组具有相同数据类型的值的集合。
- 笛卡尔积
- 笛卡儿积 D1×D2×… ×Dn
的子集称为定义在域D1,D2,…,Dn上的n元关系(Relation),可用R(D1,D2,…,Dn )表示 - 码:在给定的关系中,具有唯一标识元组的一个或一组属性,称为关系的码
- 候选码:如果在关系中,具有码特性的属性或属性组有多个,则把它们都称为关系的候选码。
- 主码:当一个关系中有多个候选码时,我们从候选码中选择一个作为关系的主码。每个关系都必定有且只有一个主码。
- 外部码:如果关系R2的一个或一组属性不是R2的主码,而是另一关系R1的主码,则该属性或属性组成为关系R2的外部码。
关系操作
关系模型中常用的关系操作包括:
选择(Select)、投影(Project)、连接 (Join)、除(Divide)、并(Union)、交(Intersection)、差(Set Difference)等查询。以及增加(Insert)、删除(Delete) 、修改(Update)操作。
关系模型的三类完整性
指实体完整性、参照完整性和用户定义的完整性(其中前两类完整性是关系模型必须满足的约束条件)
- 实体完整性
- 在关系中,要求主码的值不能为空值。
- 参照完整性
- 如果关系R2的外部码X与关系R1的主码相符,那么外部码X的每个值必须在关系R1中主码的值中找到,或者取空值,称为参照完整性。
- 用户定义完整性
- 针对某个具体数据库的约束条件,由应用环境决定,它反映某一具体应用所涉及的数据必须满足的语义要求。
关系数据库设计理论
数据库安全保护
数据库设计
SQL语句
关系数据库标准语言–Structured Query Language(sql)
SQL语言的基本概念与特点
基本概念
- 基本表(Base Table)
- 一个关系对应一个基本表
- 一个或多个基本表对应一个存储文件
- 视图(View)
- 视图是从一个或几个基本表导出的表,是一个虚拟的表
主要特点
- SQL语言是类似于英语的自然语言,简洁易用
- SQL语言是一种非过程语言
- SQL语言是一种面向集合的语言
- SQL语言既是自含式语言,又是嵌入式语言
- SQL语言具有数据查询、数据定义、数据操纵和数据控制四种功能
了解SQL Server 2000
SQL Server是一个关系数据库管理系统
主要组件
组件 | 功能 |
---|---|
企业管理器 | 管理所有的数据库系统工作和服务器工作 |
查询分析器 | 执行Transact-SQL命令等SQL脚本程序 |
服务管理器 | 启动、暂停或停止SQL Server的四种服务 |
客户端网络实用工具 | 配置客户端的连接、测定网络库的版本信息以及设定本地数据库的相关选项 |
服务器网络实用工具 | 配置服务器端的连接、测定网络库的版本信息 |
导入和导出数据 | 在OLE DB数据源之间复制数据 |
在IIS中配置SQL XML支持 | 在运行IIS的计算机上定义、注册虚拟目录,并在虚拟目录和SQL Server实例之间创建关联 |
事件探查器 | 监视SQL Server 数据库系统引擎事件 |
联机丛书 | 查询信息 |
企业管理器
企业管理器是用于管理企业级SQL Server或者SQL Server对象的方便而实用的图形化工具,它是SQL Server工具中最重要的一个,通过它可以对SQL Server数据库进行管理和操作。
企业管理器的功能非常强大,可以用它来完成以下工作:
- 注册服务器
- 配置本地和远程服务器
- 管理登录、用户、权限
- 创建脚本
- 管理备份设备和数据库
- 备份数据库和事务日志
- 管理表、视图、存储过程、触发器、索引、用户定义数据类型等数据库对象
- 创建全文索引、数据库图表
- 引入和导出数据
- 数据转换
- 多种网页发布和管理
查询分析器
查询分析器是一个可以交互执行SQL语句和脚本的图形工具,它的主要功能是编辑、编译和执行T-SQL语句,并显示命令结果。
创建与使用数据库
文件
数据库包括多个数据文件和事务日志文件
- 数据文件
- 存放数据库数据和数据库对象的文件
- 主要数据文件(.mdf )(只有一个)+次要数据文件(.ndf )(可有多个)
- 事务日志文件
- 记录数据库更新情况,扩展名为.ldf,当数据库破坏时可以用事务日志还原数据
库内容
- 记录数据库更新情况,扩展名为.ldf,当数据库破坏时可以用事务日志还原数据
文件组
- 文件组(File Group)是将多个数据文件集合起来形成的一个整体
- 主要文件组+次要文件组
- 一个数据文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用
- 日志文件不分组,它不能属于任何文件组
创建与使用数据表
系统的数据库
Master
- 系统信息:
- 磁盘空间
- 文件分配和使用
- 系统级的配置参数
- 登录账号信息
- SQL Server初始化信息
- 系统中其他系统数据库和用户数据库的相关信息
Model
- Model数据库存储了所有用户数据库和Tempdb数据库的创建模板,通过更改Model数据库的设置可以大大简化数据库及其对象的创建设置工作。
Msdb - 存储计划信息以及与备份和还原相关的信息
Tempdb - Tempdb数据库用作系统的临时存储空间
存储临时表,临时存储过程和全局变量值 ,创建临
时表 ,存储用户利用游标说明所筛选出来的数据
创建数据库
使用Enterprise Manager创建数据库
用SQL命令创建数据库
语法
|
|
|
|
示例
用SQL命令创建一个教学数据库Teach,数据文件的逻辑名称为Teach_Data,数据文件物理地存放在D:盘的根目录下,文件名为TeachData.mdf,数据文件的初始存储空间大小为10MB,最大存储空间为50MB,存储空间自动增长量为5MB;日志文件的逻辑名称为Teach_Log,日志文件物理地存放在D:盘的根目录下,文件名为TeachLog.ldf,初始存储空间大小为10MB,最大存储空间为25MB,存储空间自动增长量为5MB。
|
|
修改数据库
Enterprise Manager修改数据库
用SQL命令修改数据库
语法
|
|
示例
修改Northwind数据库中的Northwind文件增容方式为一次增加2MB
|
|
删除数据库
用Enterprise Manager删除数据库
用SQL命令删除数据库
语法
|
|
示例
删除数据库Teach。
|
|
查看数据库信息
用Enterprise Manager查看数据库信息
用系统存储过程显示数据库信息
用系统存储过程显示数据库结构
|
|
用系统存储过程显示文件信息
|
|
用系统存储过程显示文件组信息
|
|
示例
|
|