数据库系统实验指导:SQL语句实践

需积分: 9 1 下载量 13 浏览量 更新于2024-07-25 收藏 458KB PDF 举报
"数据库SQL语句的练习与学习,涵盖了数据库模式设计、SQL命令创建数据库表以及使用可视化工具建立数据库表。本实验指导书适用于初学者,旨在通过实际操作提升对数据库系统的理解。" 在数据库管理和开发中,SQL(Structured Query Language)是不可或缺的语言,用于数据定义、控制和操纵。本实验主要关注SQL语句的运用,特别是针对关系型数据库的表创建。实验分为三个部分,分别涉及学生、课程和选课这三个数据库模式的设计与建立。 首先,实验一的目标是让学生亲手设计数据库模式并使用SQL命令创建表。在学生表中,包括sno(学生学号)、sname(学生姓名)、ssex(性别)、sage(年龄)和sdept(所在系)五个字段。其中,sno为主键,确保每个学生的唯一性。字段的类型分别为长度为4的字符串、长度为8的字符串、长度为2的字符串、短整数和长度为10的字符串。 接着,课程表由cno(课程号)、cname(课程名)和ccredit(学分)组成,cno为主键。字段类型同样为长度为4的字符串、长度为10的字符串和短整数。 最后,选课表sc关联了学生表和课程表,包含sno(学号)、cno(课程号)和grade(成绩)三个字段。这里的(sno, cno)构成复合主键,同时sno和cno作为外键,分别参照学生表和课程表。grade的取值可为空或在0到100之间,这一限制通过SQL的CHECK约束实现。 实验步骤中,使用SQL语言创建这些表的具体命令如下: 1. 创建学生表: ```sql CREATE TABLE student ( sno VARCHAR(4), sname VARCHAR(8), ssex VARCHAR(2), sage SMALLINT, sdept VARCHAR(10), PRIMARY KEY (sno) ); ``` 2. 创建课程表: ```sql CREATE TABLE course ( cno VARCHAR(4), cname VARCHAR(10), ccredit SMALLINT, PRIMARY KEY (cno) ); ``` 3. 创建选课表: ```sql CREATE TABLE sc ( sno VARCHAR(4), cno VARCHAR(4), grade SMALLINT, PRIMARY KEY (sno, cno), FOREIGN KEY (sno) REFERENCES student(sno), FOREIGN KEY (cno) REFERENCES course(cno), CHECK (grade IS NULL OR grade BETWEEN 0 AND 100) ); ``` 除了使用SQL命令,实验还强调了使用可视化环境创建表,这对于初学者来说更直观易懂。这种交互式的界面通常会简化数据库操作,减少语法错误的可能性,帮助用户更好地理解和管理数据库结构。 这个实验旨在通过实际操作,使初学者掌握数据库模式设计的基本原则,熟悉SQL语言的使用,特别是创建表、设置主键、外键以及约束等核心概念,为后续的数据库操作和应用程序开发奠定基础。