470 likes | 625 Views
数据库原理与应用. 第 3 章 数据库的基本使用 —— 数据库及表的创建. 了解数据库对象和表对象的作用. 能熟练创建和管理数据库对象. 能熟练创建和管理表对象. 积累职业素质. 培养团队合作精神和语言表达能力. 学习目标:. 任务的提出. 为了实现 《 晓灵学生管理系统 》 ,需要建立系统开发环境,这就必须要在计算机中使用 SQL Server2000 数据库系统软件创建一个符合需求的数据库,并且要在数据库中创建相关的表格来存储和管理数据。. 需考虑的问题. 1. 数据库系统在计算机中的存储结构,数据库文件的构成
E N D
数据库原理与应用 第3章 数据库的基本使用—— 数据库及表的创建
了解数据库对象和表对象的作用 能熟练创建和管理数据库对象 能熟练创建和管理表对象 积累职业素质 培养团队合作精神和语言表达能力 学习目标:
任务的提出 为了实现《晓灵学生管理系统》,需要建立系统开发环境,这就必须要在计算机中使用SQLServer2000数据库系统软件创建一个符合需求的数据库,并且要在数据库中创建相关的表格来存储和管理数据。
需考虑的问题 1. 数据库系统在计算机中的存储结构,数据库文件的构成 2. 什么是系统数据库,系统数据库的功能 3. 创建用户数据库前的考虑 4. 创建用户数据库的方法 5. 数据库都包含哪些对象,各个对象的功能 6. 创建表对象的方法 7. 管理和维护数据库及数据库对象的方法
SQL Server2000数据库架构 • 数据库是SQL Server2000存放数据库对象的逻辑实体,是数据库服务器的主要组件,是数据库管理系统的核心。在使用数据库的时候,我们所使用的主要是逻辑组件,如表、视图、存储过程等,而其物理表现形式则是存储在某个磁盘路径下的操作系统文件。作为一名数据库管理员,在创建数据库之前,首先应理解数据库的各个组成部分及设计方法,以确保所设计的数据库在实现后,能够高效地运行。
SQL Server2000数据库对象 SQL Server2000中有以下数据库对象: • 关系图(diagrams) • 表(table) • 视图(view) • 存储过程(stored procedures) • 用户(users) • 用户自定义数据类型(user-defined data types) • 用户自定义函数(user-defined functions) • 规则(constraints) • 默认值(defaults)
数据库存储结构 • 在前面已经讲过, SQL Server2000使用一组操作系统文件来存放数据库中的数据。这些操作系统文件有两种形式,一种是数据文件,一种是日志文件。其中数据文件又可分为主数据文件和次数据文件两种。
数据库物理存储结构 • 数据的物理空间在文件之间的分配是通过簇按比例分配的。例如,如果文件data1有10m的存储空间,文件data2有20m的存储空间。当SQL Server2000进行空间分配时,为文件1分配一个簇,为文件2分配两个簇。这样保证两个文件存储空间的使用平衡。 • 而簇则由“页”构成,“页”是Microsoft SQL Server2000可管理的最小空间,每一个页的大小是8KB,即8192字节。在表中,每一行数据不能跨页存储。这样,表中每一行的字节数不能超过8192个字节。每8个连续页称为一个簇,即簇的大小是64KB。
系统数据库 • master数据库 • tempdb数据库 • model数据库 • msdb数据库
1使用CREATE DATABASE创建数据库 CREATE DATABASE数据库名 [ON { [PRIMARY] <数据文件> } [,…n ] { FILEGROUP 文件组名 <数据文件>} [,…n ] ] [ LOG ON { <日志文件> } [,…n ] ] [ FOR RESTORE ]
使用CREATE DATABASE创建数据库 1.创建简单数据库 2.创建单文件数据库 3.创建多文件数据库 4.创建多文件组数据库
【任务3.1】使用T-SQL语句按照要求创建qg_test数据库。【任务3.1】使用T-SQL语句按照要求创建qg_test数据库。 USE master GO CREATE DATABASE qg_test ON ( NAME = qg_testdat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\test.mdf', SIZE = 10, MAXSIZE = 100, FILEGROWTH = 10 ) GO
【任务3.2】使用T-SQL语句创建sales数据库。 USE master GO CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\saledat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = 'Sales_log', FILENAME = 'c:\program files\microsoft sql server\mssql\data\salelog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO
【任务3.3】使用T-SQL语句创建Archive数据库。 USE master GO CREATE DATABASE Archive ON PRIMARY ( NAME = Arch1, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat1.mdf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Arch2, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat2.ndf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Arch3, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat3.ndf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20) LOG ON ( NAME = Archlog1, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archlog1.ldf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Archlog2, FILENAME = 'c:\program files\microsoft sql server\mssql\data\archlog2.ldf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20) GO
使用ALTER DATABASE修改数据库 ALTER DATABASE 数据库名 { ADD FILE <数据文件> [,…n ] [ TO FILEGROUP 文件组名] | ADD LOG FILE <日志文件> [,…n ] | REMOVE FILE 逻辑文件名 | ADD FILEGROUP 文件组名 | REMOVE FILEGROUP 文件组名 | MODIFY FILE <文件属性> | MODIFY NAME =新数据库名 | MODIFY FILEGROUP 文件组名 { <文件组属性> | NAME=新文件组名} }
使用ALTER DATABASE修改数据库 1.增加数据库文件、日志文件和文件组 2.删除数据库文件、日志文件和文件组 3.修改数据库、文件和文件组的属性
使用DROP DATABASE删除数据库 语法格式: DROP DATABASE 数据库名[,…n ] 该命令可以从SQL Server 中一次删除个或几个数据库。 例: 删除数据库 abc drop database abc
表功能介绍 创建用户数据库后,我们还无法将数据保存在数据库中,还必须在数据库中创建用来存放数据的“容器”,这个“容器”就是表。表是数据库中最重要的对象,是用来存储数据和操纵数据的逻辑结构。对数据库的各种管理和操纵,实际上就是对数据库中表的管理和操纵。
表的组成 • 在数据模型中,一张表代表一个实体,实体名即为表名。例如:在《晓灵学生管理系统中》有一个教师信息表,它表示所有教师的基本信息都存储在该表中。 • 表由行和列组成。在关系数据模型中,行也被称为记录或元组,列也被称为字段或属性。每一行都是这个实体的一个完整描述,每个列都是对该实体的一种属性的描述。
数据类型 • 现实世界是一个多样化的世界,现实世界的信息是多种多样的,所以描述信息的数据也应该是多种多样的。在定义表中的列时,每一个列都要有一个与之相关的特定的数据类型,用来准确的表示信息的类别。 • 例如,教师的姓名可以用字符型(char,varchar)来表示,出生日期可以用日期型(datetime)来表示,如果为了表示单价可以用货币型(money)来表示等等
使用CREATE TABLE创建表 CREATE TABLE [ [ 数据库名.] 表所有者. ] 表名 ( |<列定义> <列约束> | [,…n ] ) [ ON | 文件组名 | DEFULT | ]
【任务3.11】创建一个职工表,该表结构如下 CREATE TABLE 职工表 (职工编号 int primay key, 职工姓名 varchar(20) not null , 性别 char(2) default ‘男’, 年龄 tinyint not null )
【任务3.12】创建含有计算列的表 CREATE TABLE mytable ( col_1 int , col_2 int , col_3 as col_1+col_2)
【任务3.13】创建含有标识列的表 CREATE TABLE 订单表 ( 订单编号 int ideneity(1,1) primary key, 商品名 varchar(20) not null , 数量 int )
【任务3.14】创建具有检查约束的表,表结构如下:【任务3.14】创建具有检查约束的表,表结构如下: CREATE TABLE 学生表 ( 学号 int primay key, 学生姓名 varchar(20) not null , 性别 char(2) default ‘男’ check (性别=“男” or 性别=“女”), 年龄 tinyint not null check(年龄<100), 联系电话 varchar(11) unique)
【任务3.15】创建具有外键约束列的表,表结构如下:【任务3.15】创建具有外键约束列的表,表结构如下: CREATE TABLE 成绩表 ( 学号 int references 学生表(学号), 课程号 int , 成绩 smallint check(成绩>0 and 成绩<100) Constraint pk_cj primary key (学号,课程号) constraint fk_cj foreign key(课程号)references kc(课程号))
使用ALTER TABLE修改表 ALTER TABLE 表名 { ADD {<列定义> <列约束> } [,…n ] | [ WITH CHECK | WITH NOCHECK ] ADD { <列约束> } [,…n ] | DROP { COLUMN 列名 | [ CONSTRAINT ] 约束名 } [,…n ] | ALTER COLUMN 列名 { 新数据类型 [ ( 数据宽度 [,新小数位数 ]) ] [ NULL | NO NULL ] } | [ CHECK | NOCHECK ] CONSTRAINT { ALL | 约束名 [,…n ] } }
使用ALTER TABLE修改表 1.增加列 2.增加约束 3.删除约束 4.删除列 5.修改列 6.启动或暂停约束
使用DROP TABLE删除表 DROP TABLE 表名[,…n ]
使用企业管理器实现数据库的创建、修改和删除使用企业管理器实现数据库的创建、修改和删除 1.创建数据库 2.修改数据库 3.删除数据库
使用企业管理器实现表的创建、修改和删除 1.创建表 2.修改表 3.删除表
创建表 • 在Enterprise Manager 中创建表按以下步骤进行:(1) 在要创建表的数据库中选择“Tables” 对象后,单击右键,从快捷菜单中选择“New Table” 选项,或在工具栏中选择图标 ,即会出现如图7-1 所示的定义列对话框。在此可以是设定表的列名、数据类型、精度、缺省值等属性。
修改表 • 在Enterprise Manager 中选择要进行改动的表,单击右键,从快捷菜单中选择“DesignTable”选项,则会出现如图7-4 所示的修改表结构对话框。可以在图7-4 所示的对话框中修改列的数据类型、名称等属性或添加、删除列,也可以指定表的主关键字约束。单击工具栏中的图标 ,出现如图7-5 所示的编辑表和约束的属性的对话框。可以在其中编辑各种约束和一些表的属性。
删除表 • 在Enterprise Manager 中用右键单击要删除的表从快捷菜单中选择“删除(Delete)” 选项,则会出现如图7-9 所示的删除对象对话框,单击“Drop All”按钮,即可以删除表。单击“Show Dependencies”按钮,即会出现如图7-10 所示的对话框。它列出了表所依靠的对象和依赖于表的对象。当有对象依赖于表时,就不能删除表。