数据库原理实验 13级

上传人:第*** 文档编号:34262768 上传时间:2018-02-22 格式:DOCX 页数:59 大小:1.37MB
返回 下载 相关 举报
数据库原理实验 13级_第1页
第1页 / 共59页
数据库原理实验 13级_第2页
第2页 / 共59页
数据库原理实验 13级_第3页
第3页 / 共59页
数据库原理实验 13级_第4页
第4页 / 共59页
数据库原理实验 13级_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《数据库原理实验 13级》由会员分享,可在线阅读,更多相关《数据库原理实验 13级(59页珍藏版)》请在金锄头文库上搜索。

1、1数据库系统原理与技术实验报告姓名:学号:钟智君 2013180502 Hunan Normal University2湖南师范大学学工程与设计学院二 0 一五年十二月专业: 计算机科学与技术 34目录一、实验一 .5二、实验二 .9三、实验三 .17四、实验四 .31五、实验五 .41567数据库原理实验实验一 数据库的创建与管理1、 建立数据库每当在磁盘上创建一个数据库时,会在磁盘上产生文件,用来存储数据:(1) 数据文件:*.mdf包含数据库初始信息,记录数据库还包括哪些文件,并存储相关数据。每个数据库有且只有一个*.mdf 文件。(2) 日志文件:*.ldf保存数据库所有相关信息用于数

2、据库的恢复,每个数据库至少有一个日志文件。在查询分析器中创建数据库的基本语句:CREATE DATABASE database-name例:create database stuon primary (name=stu_data, primary:表示此数据库文件为最主要文件,属于primary 文件组,扩展名为.mdf,每个数据库中唯一filename=d:sqlexstu_data.mdf, :此处符号均为半角输入符号size=10, filename:用以指明数据库文件的具体物理位置及名称maxsize=50, size:文件的初始大小filegrowth=5) maxsize:文件的最

3、大长度,如果此处为 unlimited,表示文件可以无大小限制,直到增长至整个磁盘大小filegrowth:文件的增长量 log on(name=stu_log, log:日志文件,其建立方式同数据库文件,扩展名为 .8ldffilename=d:sqlexstu_log.ldf,size=10,maxsize=50,filegrowth=5)注意:1. Name:逻辑文件名,符合标识符的命名规则, 使用 sql 语句访问数据库时使用的数据库名,需要符合 sql 的命名规则,且不同数据库名称相异。Filename:物理文件名,数据库存储在磁盘上使用的文件名Size:初始数据库文件的大小Maxs

4、ize:数据库文件的最大值Filegrowth:数据库文件的自动增长率,可以是百分比,也可以是具体的值。2. SQL 不区分大小写3. 每一项的分隔符是“逗号” ,并且最后一项没有“逗号”4. 按下 F5,执行该 TSQL 语句,创建指定数据库文件位置的数据库。2、使用查询分析器修改数据库a.重命名数据库(1)在查询编辑窗口输入:Exec sp_renamedb Mydatabase,Mydatabase2其中 exec 表示执行,sp_renamedb 表示系统自带函数b.修改数据库文件(1)输入:alter database Mydatabase29Modify file( name=My

5、database1_new_log,Size=3,Maxsize=5)c.删除数据库文件:(1)输入:alter database Mydatabase2remove file Mydatabase2_log实验一内容:1、 启动 sqlserver 的服务。在桌面点击 sqlserver 程序图标,启动 sqlserver 程序,根据正确的用户名密码连接数据库。2、 在查询分析器中创建一个数据库,要求如下:(1) 数据库名称 Test1。(2) 数据文件:逻辑文件名为 Test1_data1,物理文件名为 Test1_data1.mdf,初始容量为 5MB,最大容量为 10MB,增幅为 1M

6、B。(3) 日志文件:逻辑文件名为 Test1_log1,物理文件名为 Test1_log1.ldf,初始容量为 3MB,最大容量为 5MB,增幅为 1MB。create database Test110on(name=Test1_data1,filename=c:Test1Test1_data1.mdf,size=5,maxsize=10,filegrowth=1)log on(name=Test1_log1,filename=c:Test1Test1_log1.ldf,size=3,maxsize=5,filegrowth=1)3、 在查询分析器中按照下列要求修改第 2 题中创建的数据库

7、test1(1) 数据文件的容量为 6MB,最大容量为 20MB,增幅为 2MB。(2) 日志文件的容量为 4MB,最大容量为 10MB,增幅为 2MB。11alter database Test1Modify file( name=Test1_data1,size=6,maxsize=20,filegrowth=2)alter database Test1Modify file( name=Test1_log1,size=4,maxsize=10,filegrowth=2)124、 数据库更名:把 test1 数据库更名为 new_test1Exec sp_renamedb Test1,ne

8、w_test1;实验二 创建并管理表1、 查询分析器中创建数据库中的表基本语句:create table 表名 (列名 数据类型 属性 )create table tabname(col1 type1 not null primary key,col2 type2 not null,.) 13注意:如果在建表时未指定当前活动数据库,则系统默认将表建立在 master 数据库中,可以使用 use databasename 命令指定当前活动数据库。创建基本表格式:create table 列级完整性,表级完整性约束 创建普通数据库表use myfirstdb 打开数据库create table 仓

9、库1( 仓库编号 int,仓库号 varchar(50),城市 varchar(50),面积 int) 创建含有不能为空的字段的数据库表use myfirstdbcreate table 仓库2( 仓库编号 int not null,仓库号 varchar(50)not null,城市 varchar(50)not null,面积 int) 创建含有主键和唯一索引字段的数据库表14use myfirstdbcreate table 仓库3( 仓库编号 int primary key,仓库号 varchar(50)unique,城市 varchar(50)not null,面积 int) 创建含

10、有默认值和 CHECK 约束字段的数据库表use myfirstdbcreate table 仓库4( 仓库编号 int primary key,仓库号 varchar(50)unique,城市 varchar(50)default 青岛,面积 int check(面积=300 and 面积=300 and 面积=800 and 基本工资=800 and 工资Add 完整性约束drop alter column 例:向 student 增加“sclass”字符型alter table student add sclass varchar(50)例:将 sname 的类型改为 varchar(5

11、0)alter table student alter column sname varchar(50)例:1 重命名数据库表exec sp_rename 仓库,Mytab2.增加新字段use myfirstdbalter table 职工表add 电子邮件 varchar(50)17use myfirstdbalter table 职工表add 联系方式 varchar(50) default 0731-888888883修改数据库表字段use myfirstdbalter table 职工表alter column 电子邮件 varchar(100)4删除数据库表字段use myfirst

12、dbalter table 职工表drop column 电子邮件注意:如果一个字段含约束,就没有办法直接删除,要先删除字段中的约束,然后才能删除字段,删除约束的代码:5删除数据库文件alter database MydatabaseNewremove file MydatabaseNew_log 删除基本表drop table restrictcascade18实验二内容:1、 创建数据库销售系统,包含如表 2.1 至表 2.4,创建这些表并按要求定义约束:表 2.1 仓库表结构字段名 数据类型 约束说明仓库号 varchar,长度为 50 主键城市 varchar,长度为 50 缺省值为“

13、青岛”面积 int 缺省值为 800,在 500到 1800 之间创建时间 Datetime 允许空值use new_Test1create table 仓库(仓库号 varchar(50) primary key,城市 varchar(50) default 青岛,面积 int check(面积= 500 and 面积 90Where 子句使用的运算符说明= | | | != 不等于= 小于或等于 大于或等于 ! | !=200 and 总分400Select 姓名,系 from 学生表 where 总分 not between 200 and 400查询出所有入学日期为 2004 年的学生

14、记录Select 姓名,年龄 from 学生表 where year(入学日期)=2004454、 多表查询当查询操作涉及到多个表,必须指定连接类型和连接表达式。注意:如果表名或字段名中含有空格,引用时需要将其包含在一对 括号中。LEFT JOIN:查询结果包含位于关键字 left join 左侧源表中的所有数据记录,但只包含右侧元表中相对应的数据记录。例:select customers.customerid,panyname,orders.orderid,orders.orderdate,orders.freight from orders left join customers on customers.customerID=orders.customerID将所有订单表上订单记录和在客户表上有对应项的客户记录显示出来。RIGHT JOIN:查询结果包含位于关键字 right join 右侧源表中的所有数据记录,但只包含左侧源表中相对应的数据记录。例:select order deta

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号