1、SQL Server 是微软推出的RDBMS,,经历了10多年的发展历程. 使它形成了具有强大DBMS的功能,可视化的管理工具和强大的网络功能. SQL Server 运行环境可选择Windows NT,Windows 2000等 .,SQL Server 2000 RDBMS 应用,一、基本概念,(1)表(文件) 即基本表,它是在数据库中存放的实际关系。,1. SQL Server 2000的数据库对象,(2)视图 为了用户查询方便或根据数据安全的需要而建立的虚表。,存储过程、 触发器、约束,(3) 索引 加速数据访问和保证表的完整性,6.1.4,1) 基本数据文件 基本数据文件也称为主文件
2、。 2)次文件(辅助数据文件) 当数据库中的数据较多时需要建立辅助数据文件。 3) 日志文件 日志文件是用于存放数据库日志信息的文件。一个数据库可以有一个或多个日志文件。,2. 数据库结构,(1) SQL Server 2000的三种物理文件,6.1.4,主文件是数据库的起点并指向数据库的其余文件。每个数据库都包含一个主文件。 次文件保存所有主文件中容纳不下的数据。 如果数据库非常大,则需要多个次文件,也可能使用多个独立磁盘驱动器上的次文件,以将数据分布在多个磁盘上。,(2)主文件与次文件的作用,1. Master 保存系统级别数据 2. Msdb 调度报警和任务 3. Model 模板数据库
3、,新建数据库的基础 4. Tempdb 保存用户临时数据,4 SQL Server 2000的系统数据库,6.1.5,5 SQL Server 2000的管理工具,1. 查询分析器 2. 导入和导出数据 3. 服务管理器 4. 客户机网络连接工具和服务器网络连接工具 5. 联机丛书 6. 企业管理器 7. 事件侦探器 8. 在IIS中配置SQL XML支持,6.2,6 基本操作,1.服务器的连接 2.查询分析器连接 3.查询分析器基本操作,start程序Microsoft Sever SQL服务管理器,start程序Microsoft Sever SQL查询分析器,二 SQL功能及实例 1.
4、创建数据库,其语法为:CREATE DATABASE数据库名ON (NAME =逻辑数据文件名,FILENAME= 操作数据文件路径和文件名,SIZE=文件长度,MAXSIZE=最大长度,FILEGROWTH=文件增长率),nLOG ON (NAME=逻辑日志文件名,FILENAME= 操作日志文件路径和文件名,SIZE=文件长度 ),n,6.3,主文件名为Sales, 物理文件名为salesdata, 保存位置在D:sqldb, 文件初始大小为10M 最大限制为50M 文件增长为10%,日志文件名Sales_log 物理文件名为saleslog 保存位置在D:sqlrecord 文件初始大小
5、为5M 最大限制为25M 文件增长为5M,建立一个数据库,数据库名为 Sales,例题 1,在D盘上建立文件夹SQL 在SQL文件夹下分别建立DB文件夹和RECORD 文件夹 在查询分析器中输入以下语句 CREATE DATABASE Sales ON ( NAME = Sales,FILENAME = D:sqldbsalesdata.mdf,SIZE = 10MB,MAXSIZE = 50MB,FILEGROWTH = 10% ) LOG ON ( NAME = Sales_log,FILENAME = D:sqlrecordsaleslog.ldf,SIZE = 5MB,MAXSIZE
6、= 25MB,FILEGROWTH = 5MB ) 按F5键或图标执行(如正确命名保存),建立一个teacher数据库,包括二个文件,分别存放在二个磁盘上,每个文件为 100 MB 的数据文件,最大限制为200MB,文件增长为20 MB。建立两个100 MB 的事务日志文件,每个文件为 100 MB 的数据文件,最大限制为200MB,文件增长为20 MB。文件名自定义。,例题 2,CREATE DATABASE teacher ON (NAME = teacher1,FILENAME = d:sqlt_datateacher1dat.mdf,SIZE = 100MB,MAXSIZE = 200
7、MB,FILEGROWTH = 20MB), ( NAME = teacher2,FILENAME = e:sqlt_datateacher2dat.ndf,SIZE = 100MB,MAXSIZE = 200MB,FILEGROWTH = 20MB),依次在D盘、E盘上设计2组文件夹 在查询分析器中输入以下语句,LOG ON ( NAME = teachlog1,FILENAME = d:sqlt_recordteach1og1.ldf,SIZE = 100MB,MAXSIZE = 200MB,FILEGROWTH = 20MB), ( NAME = teachlog2,FILENAME =
8、 e:sqlt_recordteach1og2.ldf,SIZE = 100MB,MAXSIZE = 200MB,FILEGROWTH = 20MB)按F5键或图标执行(如正确命名保存),思考题一: 1 在建立数据库时能实现数据与程序的独立性吗,什么独立性? 2 在建库命令中有多少类型的逻辑名?在以后的查询或程序中使用建库中的哪个逻辑文件名? 3 为什么需要次文件,一个数据库可以有多少主文件和次文件? 4 如果物理存储位置改变了,修改建库命令中什么内容? 5 在建库中实现了什么映象?,2. 创建表,定义基本表的格式为: CREATE TABLE表名(列名 数据类型 NULL|NOT NULL
9、,.n ) PRIMARY KEY (列名列表) FOREIGN KEY (外码) REFERENCES参照表(对应列),1) NOT NULL|NULL:定义不允许或允许字段值为空。 2) PRIMARY KEY 定义该字段为主码 3) FOREIGN KEY 指出表的外码和被参照表,6.3,建立一个学生文件,文件结构设计如下: 学生表(学号 char(9) ,姓名 char(8),性别 char(2),年龄 tinyint,所在院系 char(10),班级名 char(10),入学年份 datetime) 主码 学号,例题 1,数据类型参见P147 表6- 1,选择数据库,或在查询分析器中
10、输入USE数据库名 执行该语句 在查询分析器中输入以下语句 CREATE TABLE 学生表 (学号 Char(9), 姓名 char(8), 性别 char(2), 年龄 tinyint, 所在院系 char(10), 班级名 char(10), 入学年份 datetime 家庭地址 char(50) PRIMARY KEY (学号) 按F5键或图标执行(如正确命名保存),建立一个文件,文件结构设计如下: 成绩表(学号 char(9), 课程号 char(4), 成绩 tinyint) 主码 学号,课程号 外码 学号 参照 学生表(学号) 外码 课程号 参照 课程表(课程号),例题 2,在查
11、询分析器中输入以下语句 CREATE TABLE 成绩表 (学号 char(9), 课程号 char(4), 成绩 tinyint PRIMARY KEY (学号,课程号) FOREIGN KEY (学号) REFERENCES 学生表(学号), FOREIGN KEY (课程号) REFERENCES 课程表(课程号) ) 按F5键或图标执行(如正确命名保存),学生表,课程表已建立,3. 向表中添加记录,5.4,用语句的方式向表中添加记录 INSERT 语句可给表添加新行。INSERT 语句在简单的情况下有如下形式: 语法 INSERT INTO table_or_view (column_
12、list) VALUES data_values,1)不同输入方式 Insert 课程表(课程号,课程名,先修课) Values(C803,数据结构,C801) 或 Insert 课程表 Values(C803,数据结构,C801) 2)空值的输入 Insert 课程表(课程号,课程名) Values(C801,离散数学) 3 数据类型 Insert 学生表(学号, 年龄, 入学年份) Values(200009001, 22, 2000-08-29),思考题二: 1 在建立表文件时都定义了那些方面的内容? 2 为什么要定义PK和FK 3 没有定义一个数据项是否为空值,该数据项是否可以为空? 4 在所建立的4个表中,都使用那些数据类型? 5 插入数据时什么条件下可以使用简单的命令格式? 6 为什么数据不能用空格输入代替空值输入?,