数据库原理实验报告(3)实验三 数据表的创建与管理实验
更新时间:2024-01-21 18:34:01 阅读量: 教育文库 文档下载
- 数据库原理与应用实验报告推荐度:
- 相关推荐
南 京 晓 庄 学 院
《数据库原理与应用》
课程实验报告
实验三 数据表的创建与管理实验
所在院(系): 数学与信息技术学院 班级: 学号: 姓名:
1.实验目的
(1) 理解SQL Server 2005常用数据类型和表结构的设计方法。理解主键、外键含义,掌握
建立各表相关属性间参照关系的方法。
(2) 熟练掌握使用SQL Server Management Studio图形工具创建表,删除表,修改表结构,
插入及更新数据的方法。
(3) 熟练掌握使用Transact-SQL语句创建表,删除表,修改表结构,插入及更新数据的方法。
2.实验要求
基本实验:
(1) 在实验二所创建的“TM”数据库中合理设计以下各表逻辑结构:
学生信息(学号,姓名,性别,籍贯,出生日期,民族,学院/系别号,班级号) 课程信息(课程号,课程名称,课程所属模块,课程类别,学分,学时) 学习信息(学号,课程号,考试成绩,平时成绩) 院系信息(院系号,院系名称)
要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。
(2) 依据你所设计的表结构,使用SQL Server Management Studio图形工具在“TM”数据库
中创建学生信息表和课程信息表,并试验在图形界面中修改表结构,删除数据表,输入并更新数据的方法。
(3) 依据你所设计表结构,使用Transact-SQL语句创建学习信息表和院系信息表,并试验使
用T-SQL语句修改表结构,删除数据表,插入和更新数据的方法。
(4) 找出已创建各表之间相关属性的参照关系,并在相关表中增加引用完整性约束。 (5) 按要求完成实验报告。 扩展实验:
(1) 在“TM”数据库中补充设计以下各表结构:
教师信息(教师号,姓名,性别,出生日期,学历,学位,入职时间,职称,院系号) 授课信息(教师号,课程号,学期) 班级信息(班级号,班级名称,专业号) 专业信息(专业号,专业名称,学制,学位)
图书信息(图书号,书名,作者,出版社,出版日期,册数,价格,分类) 借书偏息(学号,图书号,借出时间,归还时间) 奖励信息(学号,奖励类型,奖励金额)
(2) 设计并实现各表之间相关属性的参照关系。
(3) 使用SQL Management Studio图形界面或Transact-SQL在“TM”数据库中创建前述各表,
并插入部分数据,要求所插入数据合理有效。
3.实验步骤、结果和总结实验步骤/结果
(1)合理命名并设计学生信息、课程信息、学习信息和院系信息结构(字段名,数据类型,默认值,是否主键,取值范围描述等),以表格描述相关信息。
学生信息表Student 字段含义 学号 姓名 性别 籍贯 出生日期 民族 学院/系别号 班级号
课程信息 Course 字段含义 课程号 课程名称 课程所属模块 课程类别 学分 学时 字段名称 C_ID C_NAME Module C_Type Credit C_Hours 数据类型 char(8) nvarchar(20) nvarchar(30) nchar(2) real tinyint 说明 主键 字段名称 S_ID S_NAME Gender Birth_Place Date_of_Birth Nationality DEPT_ID Class_ID 数据类型 char(8) nvarchar(10) nchar(1) nvarchar(20) smalldatetime nvarchar(10) char(2) int 说明 主键 默认男
学习信息 StudyInformation 字段含义 学号 课程号 考试成绩 平时成绩
院系信息 yxb 字段含义 院系号 院系名称 字段名称 dept_id yxname 数据类型 int nvarchar(10) 说明 主键 字段名称 S_ID C_ID GRADE AVG(GRADE) 数据类型 char(8) char(8) INT INT 说明 主键 候选主键
(2) 总结使用SQL Server Management Studio创建学生信息、课程信息表,修改表结构,输入或更新表数据的过程或方法;
创建学生信息
1、在“对象资源管理器”中,依次展开“数据库”→“TM”→“表”,右击选择 新建表“Student”,输入完成后 右击保存该表。
新建表 “Course”(同上)
修改表结构
展开TM,展开表,右击Student,选择修改,将S_Name的数据类型改成nvarchar(30),保存
输入数据:
选中要输入的 表,右击选中 打开表,进行输入数据。
(3) 写出实验中创建学习信息、院系信息表,试验修改表结构及删除数据表、插入和更新数据时,你所编写并成功执行的T-SQL语句。 学习信息表: use TM
CREATE TABLE StudyInformation ( S_ID char(8), C_ID char(8), GRADE INT, [AVG(GRADE)] INT,
PRIMARY KEY (S_ID,C_ID) )
院系信息表
CREATE TABLE yxb(
dept_id char(2), yxname nchar(10),
PRIMARY KEY (dept_id)
)
修改表结构:
ALTER TABLE StudyInformation ALTER COLUMN S_ID char(10)
删除数据表数据:
DELETE FROM Student WHERE S_ID ='10080112'
插入数据:
INSERT INTO
Student(S_ID,S_Name,Gender,Birth_Place,Date_of_Birth,Nationality, DEPT_ID,Class_ID)
VALUES('10080512','武涵','男','江苏','1993-6-30','汉族',6,2)
更新数据:
UPDATE Student SET S_Name='陈圆',Gender='女' WHERE S_ID='10080117'
(4) 说明学生信息、课程信息表、学习信息、院系信息表间相关属性的合理参照关系,写出相应的数据库中添加引用完整性约束的T-SQL语句或者探索并总结使用SQL Server Management Studio图形工具在数据库中添加相应引用完整性约束的方法。 SELECT *
FROM dbo.yxb INNER JOIN
dbo.Student ON dbo.yxb.dept_id = dbo.Student. dept_id INNER JOIN dbo. Course INNER JOIN
dbo. StudyInformation ON dbo. Course. C_ID = dbo. StudyInformation. C_ID ON dbo. StudyInformation. S_ID = dbo. StudyInformation. S_ID
(5)扩展实验完成总结(可选)。
授课信息(教师号,课程号,学期) 班级信息(班级号,班级名称,专业号)
授课信息:Create table shouke(T_ID char(8)not Null Primary Key, C_class varchar(8) not Null, xi float not Null, Pgrade float not Null);
Create table banji(c_class char(8)not Null Primary Key, C –class varchar(8) not Null, C-num varchar(8) not Null,
4.实验思考:
①你认为在教学管理中还可以增加管理哪些信息,可以再为数据库增加设计哪些表或为已有表增加设计哪些属性字段?说出理由。 答:可以增加的表
考试时间表(院系名称,课程名称,考试地点,考试时间,监考人员,监考人数) 宿舍分布表 (地区编号,宿舍楼编号,负责人姓名)
学生住宿表(院系号,地区编号,宿舍楼编号,房间编号,姓名,班级) 增加已有表中的属性字段:
课程信息表中可以增加教室和上课时间字段
学习信息表中可以增加是否住宿和所居住宿舍号的字段
②数据表中的主键有何特性,请设计实例验证主键的特性。当相关数据表中已有数据时,为各表之间增加参照关系时有可能会失败,为什么? 主键具有如下特性:
(1)不重复性。当将一列设置为主键时,则数据的取值在该列或者列组合中是唯一的,因此主键列(或列组合)可以作为表中数据的标识列。
(2)非空性。即主键列(或列组合)的每个数据不能出现空值。 (3)唯一性。指一个表中最多只有一个主键。
创建表时可通过定义PRIMARY KEY约束来创建主键。 命令格式:
CREAT TABLE 表名
(列名 数据类型 CONSTRAINT 主键约束名 PRIMARY KEY [CLUSTERED |NON CLUSTERED)
主键可能所连接的字段设置的数据类型不同,各表之间增加参照关系会失败
③总结SQL中数值数据,字符数据和日期数据常量的表示方法。思考当向某表中插入记录时,若插入记录的某字段值的数据类型或精度与该表中对应字段定义不同时,会产生哪些结果?请设计不同情况的实例加以验证。
1)数值数据
SQL支持许多种不同的数值型数据。你可以存储整数 INT 、小数 NUMERIC、和钱数 MONEY。
INT VS SMALLINT VS TINYINT
他们的区别只是字符长度: INT型数据的表数范围是从-2,147,483,647到2,147,483,647的整数SMALLINT 型数据可以存储从-32768到32768的整数TINYINT 型的字段只能存储从0到255的整数,不能用来储存负数
通常,为了节省空间,应该尽可能的使用最小的整型数据。一个TINYINT型数据只占用一个字节;一个INT型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很快的。另一方面,一旦你已经创建了一个字段,要修改它是很困难的。因此,为安全起见,你应该预测以下,一个字段所需要存储的数值最大有可能是多大,然后选择适当的数据类型。
2)字符数据
VARCHAR 和 CHAR
VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符。 3)日期数据
DATETIME VS SMALLDATETIME
当只输入一个字段时:
当主键为空时:
正在阅读:
数据库原理实验报告(3)实验三 数据表的创建与管理实验01-21
2019-2020年科学七年级上册第4章 生物体的结构层次1生物体华师大版知识点练习五08-08
与众不同的一家人作文450字07-12
基于MATLAB的控制系统稳态误差的分析05-27
学期末班主任个人工作总结模板8篇04-03
冷链物流中心工程建设投资项目商业计划书05-19
城市生活垃圾及其处理104-23
2019—2020年最新浙教版八年级(上)期末数学试卷(五)及答案解析 doc12-07
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 实验
- 数据表
- 原理
- 创建
- 数据库
- 报告
- 管理
- 2011年全国运输机场生产统计公报
- 2016-2017学年牛津译林版九年级上册第一次月考英语试题含答案 - 图文
- 1.公共心理学教案
- 大学生防诈骗主题班会总结
- 杜郎口中学考察学习心得体会
- 医院申请CT配置的可行性报告
- 金庸作品中的女性
- DZL4锅炉技术规范书(1)
- 2010年中考数学模拟试题科学计数法(含答案)
- 江苏省常州市2015届高三第一次模拟考试化学试卷(有答案) - 图文
- 高清像机卡口式电警系统施工方案 - 图文
- 学生因病缺勤登记 追踪制度和复课证明查验制度
- 七年级数学走进数学世界测试题
- 2015常州市中小学教师晋升高级专业技术职务真题和部分答案
- 离散数学基础实验教学大纲
- 2015 2016 天津初中物理浮力大题 中考真题 带答案
- 梁侧模板计算书
- 六年级下册科学试题
- 《竞争?合作?》说课稿 - 图文
- 人教版五年级数学上册简易方程专项练习题精编10