《数据库系统》上机作业01

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

班级:学号:姓名:
实验1 数据库基本操作
1.实验目的
(1)了解数据库及其各类逻辑对象、数据库文件与文件组的概念
(2)掌握数据库的设计、创建、查看和维护等操作
2.背景知识
每个SQL Server实例包括4个系统数据库(master、model、tempdb和msdb)以及一个或多个用户数据库。

数据库是建立在操作系统文件上的,SQL Server在发出CREATE DA TABASE命令建立数据库时,会同时发出建立操作系统文件、申请物理存储空间的请求;当CREATE DATABASE命令成功执行后,在物理上和逻辑上都建立一个新数据库;然后就可以在数据库中建立各种用户所需要的逻辑组件,如基本表、视图等。

存储数据库数据的操作系统文件可以分为以下三类:
(1)主文件:存储数据库的启动信息和系统表,主文件也可以用来存储用户数据。

每个数据库都包含一个主文件。

(2)次文件:保存所有主文件中容纳不下的数据。

如果主文件大到足以容纳数据库中的所有数据,这时候可以没有次文件。

如果数据库非常大,也可以有多个次文件。

使用多个独立磁盘驱动器上的次文件,可将一个数据库中的数据分布在多个物理磁盘上。

(3)事务日志文件:用来保存恢复数据库的日志信息。

每个数据库必须至少有一个事务日志文件(可以有多个)。

3.实验要求
(1)创建数据库(使用SQL Server Management Studio[管理控制台])
要求如下:
①右击“数据库”项,在快捷菜单中选择“新建数据库”命令。

②输入数据库名
③设置数据文件,初始大小为5MB。

④设置日志文件,初始大小为2MB。

⑤单击“确定”按钮,开始创建数据库。

⑥查看创建后的数据库,查看两个数据库文件的子目录。

(2)修改数据库(使用SQL Server Management Studio[管理控制台])
要求:
①数据库重命名
②重新设置文件的初始容量、增长方式和最大容量等。

说明:对象资源管理器中展开“数据库”结点,右击要修改数据库,快捷菜单中选择“属性”命令。

在“数据库属性”窗口中,包括“常规”、“文件”、“文件组”、“选项”、“权限”、“扩展属性”、“镜像”和“事务日志”8个选项卡。

在“文件”选项卡中,可修改数据库的逻辑名,增加数据文件,重新设置文件的初始容量、增长方式和最大容量等。

(3)修改数据库(使用Transact-SQL语句)
要求:数据库重命名为product
说明:在SQL Server2008中可使用系统存储过程SP_RENAMEDB更新数据库名称。

在重命名数据库之前,应保证此时没有用户使用该数据库。

语法格式:SP_RENAMEDB ‘OLD_NAME’,’NEW_NAME’
4.实验内容
(1)创建数据库products
要求如下:数据库名为products;数据文件逻辑名称为product,初始大小为5MB,文件名为学号姓名product.mdf;日志文件逻辑名称为productlog,初始大小为2MB,文件名为学号姓名product_log.ldf;。

具体步骤如下(自己完成):
(2)修改数据库products
要求:数据库重命名为product;
1)使用SQL Server Management Studio[管理控制台],具体步骤如下(自己完成):
2)使用Transact-SQL语句,具体步骤如下(自己完成):
Alter DataBASE product
MODIFY FILE(NAME='products',NEWNAME='product')
Alter DataBASE product
MODIFY FILE(NAME='products_Log',NEWNAME='product_Log')
(3)拷贝数据库product
说明:数据库建好之后,如何拷贝?先分离数据库,再拷贝。

步骤:选中数据库,右击选择“完成所有任务”,“分离数据库”,然后就可以拷贝。

(4)附加数据库product
说明:如何重新使用已经建好的数据库?先附加数据库,再使用。

步骤:可以进行“附加”数据库。

使用同一个数据库,可以放在不同的磁盘位置。

这里正好验证数据物理独立性,跟存放的物理位置无关。

实验2 数据表基本操作
1.实验目的
(1)掌握数据库基本的基础知识
(2)掌握创建、修改、使用、删除基本表的不同方法
2.背景知识
在关系数据库中,关系是关系数据库的基本组成单位,是由行和列组成的规范二维表。

(1)创建基本表
在SQL语言中使用CREATE TABLE语句创建基本表,其一般格式如下:
CREATE TABLE<基本表名>(<列名><数据类型>[列级完整性约束条件]
[,<列名><数据类型>[列级完整性约束条件]])…
[,<表级完整性约束条件>])
<基本表名>是要定义的表名,可以由一个或多个属性(列或字段)。

建表同时还可以定义该表完整性约束条件,这些完整性约束条件被存储在DBMS的数据字典中,当用户操作基本表时,DBMS自动检查是否违反了预先定义的完整性约束条件。

若完整性约束条件只涉及一个属性(列),可以把约束定义在列级上也可以定义在表级上,若涉及多个属性(列),则约束只能定义在表级上。

完整性约束主要有三种子句:主键子句(Primary Key)、外键子句(Foreign Key)和检查子句(Check)。

基本表的创建一般包含列的定义及若干完整性约束。

完整性约束条件将存放在数据库的数据字典中。

(2)修改基本表
随着环境和需求的变化,有时需要修改建好的基本表。

表的修改包括结构的修改和约束条件的修改。

在SQL语言中使用ALTER TABLE语句修改基本表。

一般格式如下:ALTER TABLE <基本表名>
[ADD <新列名> <数据类型>|[完整性约束]]
[ALTER COLUMN <列名> <数据类型>]
[DROP COLUMN <列名>]
[DROP <完整性约束名>]
说明:
ADD子句用于基本表中增加新列和新完整性约束条件。

新增加的列不能定义为NOT NULL,因为不论基本表中是否有数据,新增加的列一律为空值(NULL)。

ALTER子句用于修改原有的列定义,包括列名和列的数据类型及长度
DROP子句用于删除列或完整性约束条件。

(3)删除基本表
当基本表不再需要时,可以用DROP TABLE删除表,基本表一旦被删除,其中的所有数据也会随之丢失。

在SQL语言中使用DROP TABLE删除基本表,其一般格式如下:
DROP TABLE <基本表名>[RESTRICT| CASCADE]
RESTRICT:删除表是有限制的。

准备删除的基本表不能被其他表的约束所引用,如果该表存在依赖该表的对象,则此表不能被删除。

CASCADE:删除该表没有限制。

在删除基本表的同时,相关的依赖对象一起删除。

说明:
基本表被删除后,依附于此表建立的索引和视图都将被自动删除掉,并且无法恢复,此时系统释放其所占的存储空间。

只有基本表的拥有者才可以使用此语句。

不能使用DROP删除系统表。

(1)创建表
1)使用SQL Server Management Studio创建表。

首先要为每个列(字段)指定数据类型。

①启动SQL Server Management Studio,选择数据库,在表项上右击选择“新建表”命令
②在弹出窗口中分别输入或选择各列的名称、数据类型、数据长度、是否允许为空值等属性。

③在表各字段属性均设计完成之后,单击工具栏“保存”按钮,出现“选择表名”对话框,输入表名,单击“确定”按钮即可。

2)利用Transact-SQL语言创建表。

在关系数据库中,基本表包含实际的数据,可以创建多达2万亿个表。

在Transact-SQL语言中,可以使用CREATE TABLE语句创建基本表。

CREATE TABLE<基本表名>(<列名><数据类型>[列级完整性约束条件]
[,<列名><数据类型>[列级完整性约束条件]])…
[,<表级完整性约束条件>])
(2)修改表
1)使用SQL Server Management Studio。

对于一个已经存在的表可以进行的修改操作包括增加字段、删除字段和修改字段的属性(列名、数据类型、是否为空)。

在SQL Server Management Studio中展开需进行操作表,右击此表,在弹出快捷菜单中选择“修改”命令。

①增加字段:原来创建的表中需要增加项目时,就要向表中增加字段。

②修改字段:表中尚未有记录时,可以修改表结构如更改字段名、字段的数据类型、长度以及是否允许空值等属性。

但当表中有记录后,不要轻易改变表结构,特别是不要改变数据类型,以免产生错误。

很多字段不能修改:数据类型为TEXT、NTEXT、IMAGE或TIMESTAMP的字段;计算列;全局标识列;复制列;用于索引的列;用于主键或外键约束的列;用于Check或UNIQUE约束的列;关联有默认值的列。

③删除字段:被删除字段不可恢复,删除字段前,要保证基于该列的所有索引和约束都已经被删除。

2)利用Transact-SQL语言修改表。

可以使用ALTER TABLE语句在一个已存在的表中增加字段、修改字段、删除字段。

ALTER TABLE <基本表名>
[ADD <新列名> <数据类型>|[完整性约束]]
[ALTER COLUMN <列名> <数据类型>]
[DROP COLUMN <列名>][DROP <完整性约束名>]
(3)创建、修改和删除约束
创建一个表时,可以有选择地指定主键约束、候选键码约束、外键约束和检查约束。

当添加或修改表中记录时,SQL Server强制这些约束,并且在有外键约束情况下,修改或删除被引用表中的记录时,SQL Server强制外键约束。

所以,最好用CONSTRAINT关键字再加上一个约束名称实现。

1)主键约束:最多可以有16列。

每个主键列的定义都不允许空,一个表只能有一个。

ALTER TABLE <基本表> ADD CONSTRAINT 主键码名PRIMARY KEY(<字段名>) 2)候选键码约束:类似于主键约束,允许某个字段接受NULL值。

ALTER TABLE <基本表> ADD CONSTRAINT 候选键码名UNIQUE(<字段名>)
3)外键码约束:它是表之间联系的纽带,用于定义参照完整性,用来维护两个基本表之间的一致性关系。

外键的建立主要通过将一个基本表中主键码所在的列包含在另一个表中,ALTER TABLE <基本表1> ADD CONSTRAINT 外键码名Foreign Key(<字段名1>) REFERENCES<基本表2>(字段名2)
说明:基本表1中的字段1参照基本表2中的字段2。

要求:数据库product中创建prodcuts表、pcs表、laptops表和printers表,自己完成逻辑结构。

(1)使用SQL Server Management Studio创建products表和pcs表。

步骤如下(自己完成)
(2)利用Transact-SQL语句创建laptops表和printers表。

具体SQL语句如下(自己完成)CREATE TABLE laptops(model int primary key,
speed float,
ram int,
hd int,
screen float,
price int)
CREATE TABLE printers(model int primary key,
color bit,
type char,
price int)
(3)为laptops表增加一个属性od(光驱类型,比如CD、DVD)。

如果某个笔记本电脑(laptop)没有光驱,则该属性的默认值为‘none’(使用SQL Server Management Studio完成)
(4)修改printers表的color属性类型为逻辑型(利用Transact-SQL语句完成)alter table printers alter column color bit。

相关文档
最新文档