2021年数据库实验工作报告总结多篇

上传人:亦明 文档编号:175052668 上传时间:2021-03-21 格式:DOC 页数:13 大小:253.06KB
返回 下载 相关 举报
2021年数据库实验工作报告总结多篇_第1页
第1页 / 共13页
2021年数据库实验工作报告总结多篇_第2页
第2页 / 共13页
2021年数据库实验工作报告总结多篇_第3页
第3页 / 共13页
2021年数据库实验工作报告总结多篇_第4页
第4页 / 共13页
2021年数据库实验工作报告总结多篇_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《2021年数据库实验工作报告总结多篇》由会员分享,可在线阅读,更多相关《2021年数据库实验工作报告总结多篇(13页珍藏版)》请在金锄头文库上搜索。

1、数据库实验工作报告总结多篇 数据库实验工作报告总结多篇 数据库实验总结【一】 试验内容 1、 数据表的建立 基本表简单的带有主键 带有外码约束的(外码其他表或者本表) 2、 数据表的修改 添加删除列 修改列属性类型 添加删除约束(约束名) 元组的添加,修改,删除 删除数据表 试验过程 1、create table student ( sno char(9) pri _ry key , /*sno是主码 列级完整性约束条件*/ sname char(20) unique, /*sname取唯一值*/ s _ char(2), sage _allint, /*类型为 _allint*/ sdept

2、 char(20) /*所在系*/ ); create table course ( o char(4) pri _ry key, /*列级完整性约束条件,o是主码*/ ame char(40), cpno char(4), /*cpno的含义是先行课*/ redit _allint, foreign key (cpno) referen _s course(o) /*表级完整性约束条件,cpno是外码,被参照表是course,被参照列是o*/ ); create table sc ( sno char(9), o char(4), grade _allint, pri _ry key (sn

3、o,o), /*主码有两个属性构成,必须作为表级完整性进行定义*/ foreign key (sno) referen _s student(sno), /*表级完整性约束条件,sno是外码,被参照表是student*/ foreign key (o) referen _s course(o), /*表级完整性约束条件,o是外码,被参照表示course*/ ); 例1、create table s ( o varchar(3), /*变长的字符串,输入2个字符就是两个字符不会补空格*/ sname varchar(20), status int, city varchar(20), const

4、raint pk_sno pri _ry key(sno), /*约束条件的名字为pk_sno*/ ); create table p ( pno varchar(3), pname varchar(20), color varchar(3), weight int, constraint pk_pno pri _ry key (pno), /*约束条件的名字是pk_pno*/ ); create table j ( jno varchar(3), jname varchar(20), city varchar(20), constraint pk_jno pri _ry key(jno) /

5、*约束条件的名字为pk_jno*/ ); 例2、create table spj ( sno varchar(3), /*第一个表中的主码*/ pno varchar(3), jno varchar(3), qty int, /*数量*/ constraint pk_spj pri _ry key(sno,pno,jno), /*主码由3个属性组成*/ foreign key(sno) referen _s s(sno), /*表级完整性约束条件,sno是外码,被参照表是s*/ foreign key(pno) referen _s p(pno), /*表级完整性约束条件,pno是外码,被参照

6、表是p*/ foreign key(jno) referen _s j(jno), /*表级完整性约束条件,jno是外码,被参照表是j*/ ); 2、数据表的更改 在s表中添加一个concat 列 alter table s add concat varchar(20) 在s表中删除concat 列 alter table s drop column concat 更改s表 concat列的属性 把长度由20改为30 alter table s alter column concat varchar(30) _ 名字为concat 修改属性为唯一的 属性名为con_concat alter t

7、able s add constraint con_concat unique(concat) 删除约束关系con_concat alter table s drop constraint con_concat /*插入一个元组*/ insert into s valus(s1,精益,20,天津) /*20不能写成20*/ 试验中的问题的排除与总结: 1、在创建spj时 有三个实体所以从3个实体中取主码,还有一个数量属性也要写上 主码由那3个主码确定 2、更改一个数据库中数据表时一定要先使该数据库处于正在使用状态 3、constraint 是可选关键字,表示 pri _ry key、not n

8、ull、unique、foreign key 或 check 约束定义的开始。约束是特殊属性,用于强制数据完整性并可以为表及其列创建索引。 4、-go可以不加但是要注意顺序 注:go -注释 提示错误 5、注意添加一个空元素用 null 附 sql备份 -创建一个数据库 student create database student go -在数据库student中创建表student course sc 注意顺序 use student - create table student ( sno char(9) pri _ry key, /*sno是主码 列级完整性约束条件*/ sname c

9、har(10) unique, /*sname取唯一值*/ s _ char(2), sage _allint, /*类型为 _allint*/ sdept char(20) /*所在系*/ ); /*;要加*/ - 数据库实验总结【二】 我在sql server 索引基础知识系列中,第一篇就讲了记录数据的基本格式。那里主要讲解的是,数据库的最小读存单元:数据页。一个数据页是8k大小。 对于数据库来说,它不会每次有一个数据页变化后,就存到硬盘。而是变化达到一定数量级后才会作这个操作。 这时候,数据库并不是以数据页来作为操作单元,而是以64k的数据(8个数据页,一个区)作为操作单元。 区是管理空

10、间的基本单位。一个区是八个物理上连续的页(即 64 kb)。这意味着 sql server 数据库中每 mb 有 16 个区。 为了使空间分配更有效,sql server 不会将所有区分配给包含少量数据的表。sql server 有两种类型的区: 统一区,由单个对象所有。区中的所有 8 页只能由所属对象使用。 混合区,最多可由八个对象共享。区中八页的每页可由不同的对象所有。 通常从混合区向新表或索引分配页。当表或索引增长到 8 页时,将变成使用统一区进行后续分配。如果对现有表创建索引,并且该表包含的行足以在索引中生成 8 页,则对该索引的所有分配都使用统一区进行。 为何会这样呢? 其实很简单:

11、 读或写 8kb 的时间与读或写 64 kb的时间几乎相同。 在 8 kb 到 64 kb 范围之内,单个磁盘 i/o 传输操作所花的时间主要是磁盘取数臂和读/写磁头运动的时间。 因此,从数学上来讲,当需要传输 64 kb 以上的 sql 数据时, 尽可能地执行 64 kb 磁盘传输是有益的,即分成数个64k的操作。 因为 64 kb 传输基本上与 8 kb 传输一样快,而每次传输的 sql server 数据是 8 kb 传输的 8 倍。 我们通过一个实例来看 有and 操作符时候的最常见的一种情况。我们有下面一个表, create table dbo.member( member_no d

12、bo.numeric_id identity(1,1) not null, lastname dbo.shortstring not null, firstname dbo.shortstring not null, middleinitial dbo.letter null, street dbo.shortstring not null, city dbo.shortstring not null, state_prov dbo.statecode not null, country dbo.countrycode not null, _il_code dbo. _ilcode not n

13、ull, phone_no dbo.phonenumber null, photograph i _ge null, issue_dt datetime not null default (getdate(), expr_dt datetime not null default (dateadd(year,1,getdate(), region_no dbo.numeric_id not null, corp_no dbo.numeric_id null, Pv_balan _ money null default (0), curr_balan _ money null default (0

14、), member_code dbo.status_code not null default ( ) 这个表具备下面的四个索引: 索引名 细节 索引的列 member_corporation_link nonclustered located on pri _ry corp_no member_ident clustered, unique, pri _ry key located on pri _ry member_no member_region_link nonclustered located on pri _ry region_no memberfirstname nonclustered located on pri _ry firstname 当我们执行下面的sql查询时候, select m.member_no, m.firstname, m.region_nofrom dbo.member as mwhere m.firstname like k% and m.region_no 6 and m.member_no 5000go sql server 会根据索引方式,优化成下面方式来执行。 select a.member_no,a.firstnam

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

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