130 likes | 245 Vues
数据库原理 实验二. 表的创建及简单操作实验. 实验目的. 掌握利用 SQL 语言定义表和索引的方法。 掌握利用 SQL 完成表的更新。 掌握利用 SQL 完成较为简单的单表查询。. 实验内容及要求. 掌握构造 SQL 语句完成数据库中各张基本表的创建、和删除方法。 在建立基本表的基础上,掌握为表建立索引及删除索引的方法。 掌握利用 SQL 语句对基本表中元组进行插入、修改和删除的方法。 对数据库中各表中的记录完成简单查询,掌握单表查询的 SQL 语句构造、方法。. 实验 1.
E N D
数据库原理 实验二 表的创建及简单操作实验
实验目的 • 掌握利用SQL 语言定义表和索引的方法。 • 掌握利用SQL 完成表的更新。 • 掌握利用SQL 完成较为简单的单表查询。
实验内容及要求 • 掌握构造SQL语句完成数据库中各张基本表的创建、和删除方法。 • 在建立基本表的基础上,掌握为表建立索引及删除索引的方法。 • 掌握利用SQL语句对基本表中元组进行插入、修改和删除的方法。 • 对数据库中各表中的记录完成简单查询,掌握单表查询的SQL语句构造、方法。
实验1 • 现有一个学生选修课程的数据库School,其中存放以下三个表:学生Student(学号,姓名,性别,年龄,系别),即Sno char (3), Sname char(4), Ssex char (2), Sage int, Sdept char(6);课程Course(课程号,课程名,任课教师),即Cno char(3), Cname char(8), teacher char(4);选修SC(学号,课程号,分数),即Sno char (3), Cno char (3), Grade int。
建表,在定义中要求声明: • 每个表的主外码; • 学生的年龄介于16到40之间; • 学生的姓名和课程名不能为空值; • 选课成绩要么为空值,要么取0到100之间的整数。 • 往表中插入数据
学生 (101,张三,男,18,计算机;102,李四,男,16,数学;103,王玲,女,17,中文; 105,李飞,男,19,计算机;109,赵四,女,18,历史; 110,李平,男,20,化学) 举例:Insert Into Student Values('101', '张三', '男', 18, '计算机') • 课程 ( 203,操作系统,程羽; 279,高等数学,王备; 210,现代文学,王丹;243,有机化学,沈同; 204,数据结构,张青) 举例:Insert Into Course Values('203', '操作系统', '程羽') • 选修 (101,203,82; 105,203,59; 102,279,90; 101,279,88;105,279,82; 110,279,68; 109,210,72; 103,210,90;110,243,92; 101,204,85; 105,204,91; 102,204,56) 举例:Insert Into SC Values('101', '203', 82)
用SQL语句完成下列查询: • 查询学号为103的同学的姓名和所在系。 • 查询计算机系同学的学号和年龄。 • 查询各学生的学号和平均成绩。 • 查询每个系学生的最大年龄。 • 将学生选课情况按课程号升序、成绩降序排列。
记录更新: • 删除所有成绩不及格的选课记录。 • 将“279”号课程的考试成绩置成空值。
实验2 • 现有一个图书借阅管理的数据库BookBorrow,其中存放以下三个表:书 Book (书号,类别,书名,出版社,作者,价格,总藏书量,库存,出版年份),即bno char(8), categorychar(10),titlevarchar(40), presschar(30),authorchar(20), pricedecimal(7,2), totalinteger, stockinteger, pressdatedatetime;借书证 Card(卡号,姓名,单位,类别),即cnochar(7),cnamechar(10),departmentvarchar(40),typechar(1);借书记录borrow(卡号,书号,借期,还期),即cno char(7), bno char(8), borrowdate datetime, returndate datetime,
建表,在定义中要求声明: • 每个表的主外码; • 图书的库存量不能多于总藏书量; • 图书还期不能早于借期。 • 向表中插入记录
书 ('10000001', 'TP80010001', '数据库系统原理教程', '清华大学出版社', '王珊', 35.2, 20, 19, '2000-01-01';'10000002', 'TP80010001', '数据库系统概论', '高等教育出版社', '萨师煊', 25.1, 12, 11, '2004-03-01';'10000011', 'TP82010001', '计算机原理', '高等教育出版社', '张一平', 27.1, 39, 37, '2004-08-01';'10000013', 'TP82010001', ' C语言程序设计', '高等教育出版社', '李华', 21.1, 54, 52, '2001-05-01';'10000005', 'TP80010001', '数据库原理', '高等教育出版社', '王家树', 18.5, 43, 43, '2001-05-01';'10000015', 'TP82010001', '计算机网络', '高等教育出版社', '高明', 15.9, 23, 23, '1998-08-01') • 借书证 ('C100001', '王娜', '计算机', 'A'; 'C100002', '刘晨', '计算机', 'A';'C200001', '李锋', '数学', 'A'; 'C300001', '李平', '金融', 'B';'C300002', '陈旭', '金融', 'B'; 'C300004', '董升', '经济', 'B') • 借书记录 ('C100001', '10000001', '2005-01-01 ', '2005-03-01';'C100001', '10000002', '2005-02-19 ', '2005-03-01';'C100001', '10000013', '2005-02-19 ', '2005-04-19';'C200001', '10000013', '2006-02-19 ', '2006-04-19';'C200001', '10000011', '2006-02-19 ', '2006-03-19';'C300001', '10000011', '2004-12-19 ', '2005-01-19')
用SQL语句完成下列查询: • 查询书号为10000013的图书的借书记录。 • 查询卡号为C100001的读者的姓名。 • 查询刘晨的卡号和单位。 • 查询借书证各类别的读者人数。 • 查询总藏书量在30本以上的图书的书名、作者、出版社、出版年份信息。 • 查询总藏书超过(多于)100本的出版社信息。 • 统计每家出版社出版图书的平均价格。
讨论题 • 总结针对表的操作有哪几种,各完成哪些功能? • 总结针对记录的操作有哪几种,各完成哪些功能? • 在SQL Server 2000中,在进行表及其中元组的操作时,系统如何保证其参照完整性? • SQL Server 2000软件系统是否区分字母大小写?