公司网站建设方案书,信阳seo,匠王红木在那个网站做众筹,区域网站怎么做【ZZULI】数据库第二次实验 创建学生信息管理系统的数据库通过T-SQL语句创建学生表、课程表、选课表创建学生表创建课程表创建选课表 修改表结构。为SC表添加写的列#xff0c;列名为备注修改备注列的数据长度。删除SC表的备注列。 通过T-SQL语句对表的列添加约束#xff0c;… 【ZZULI】数据库第二次实验 创建学生信息管理系统的数据库通过T-SQL语句创建学生表、课程表、选课表创建学生表创建课程表创建选课表 修改表结构。为SC表添加写的列列名为备注修改备注列的数据长度。删除SC表的备注列。 通过T-SQL语句对表的列添加约束选两种约束每个约束做一个例题例子1为SC表的Grade列添加CHECK约束例子2为Course表的Cname列添加UNIQUE约束不同约束的比较 前言本实验使用的语句是T-SQL。 创建学生信息管理系统的数据库 可以图形化形式添加也可以通过T-SQL语句添加。 CREATE DATABASE StudentManagementSystem;命令执行结果 通过T-SQL语句创建学生表、课程表、选课表
注意这个语句的执行首先要加一条
USE StudentManagementSystem;这条语句选择 StudentManagementSystem 数据库作为当前操作的数据库。
也可以手动选择 创建学生表
USE StudentManagementSystem;CREATE TABLE Student (Sno char ( 7 ) PRIMARY KEY,Sname char ( 10 ) NOT NULL,Ssex char (2), Sage tinyint ,Sdept char (20)
)命令执行结果 表的相关属性也可以看见 主页点查看打开对象资源管理器。 打开数据库里面的StudentManagementSystem。 打开表中的Students表前面的dbo.是软件自己加的右键点开设计可以看到我们表的属性
创建课程表
USE StudentManagementSystem;CREATE TABLE Course ( Cno char(10) NOT NULL -- 课程编号主键 , Cname char(20) NOT NULL -- 课程名称 , Ccredit tinyint -- 学分表示课程的学分值 , Semester tinyint -- 学期表示课程开设的学期 , PRIMARY KEY (Cno) -- 主键约束确保每个课程编号都是唯一的
);命令执行结果 课程表的相关属性 创建选课表
USE StudentManagementSystem;CREATE TABLE SC ( Sno char(7) NOT NULL, -- 学号主键的一部分 Cno char(10) NOT NULL, -- 课程编号主键的一部分外键引用Course表的Cno Grade tinyint, -- 成绩 XKLB char(4), -- 选课类别这个字段的用途可能需要进一步明确 -- 主键约束确保学号和课程编号的组合是唯一的 PRIMARY KEY (Sno, Cno), -- 外键约束确保学号在Student表中存在 FOREIGN KEY (Sno) REFERENCES Student(Sno), -- 外键约束确保课程编号在Course表中存在 FOREIGN KEY (Cno) REFERENCES Course(Cno)
);命令执行结果 选课表属性 修改表结构。
为SC表添加写的列列名为备注
USE StudentManagementSystem;ALTER TABLE SC
ADD 备注 varchar(255); -- 新增一个名为“备注”的列数据类型设为varchar(255)命令执行结果
SC的各个列的情况 修改备注列的数据长度。
USE StudentManagementSystem;ALTER TABLE SC
ALTER COLUMN 备注 varchar(500); -- 将“备注”列的数据类型修改为varchar(500)命令执行结果 SC的各个列的情况 删除SC表的备注列。
USE StudentManagementSystem;ALTER TABLE SC
DROP COLUMN 备注; -- 从SC表中删除名为“备注”的列命令执行结果 成功删除 通过T-SQL语句对表的列添加约束选两种约束每个约束做一个例题
例子1为SC表的Grade列添加CHECK约束 假设SC表存储了学生选课及成绩信息我们希望确保Grade列代表成绩中的值在0到100之间包含0和100。为此我们可以添加一个CHECK约束。 T-SQL代码:
USE StudentManagementSystem;-- 添加CHECK约束到Grade列
ALTER TABLE SC
ADD CONSTRAINT CK_SC_Grade CHECK (Grade BETWEEN 0 AND 100);命令执行结果 表各个列的情况
有时候可能没有及时刷新需要我们刷新一下。 例子2为Course表的Cname列添加UNIQUE约束 我们可以确保每门课程的名称Cname在数据库中也是唯一的尽管这在现实世界中可能并不总是合理的因为可能存在名称相似或相同的课程。 T-SQL代码
USE StudentManagementSystem; ALTER TABLE Course
ADD CONSTRAINT UQ_Course_Cname UNIQUE (Cname);命令执行结果 不同约束的比较
以下是主键约束PRIMARY KEY、唯一约束UNIQUE和检查约束CHECK之间的简单比较以表格的形式呈现
约束类型主键约束PRIMARY KEY唯一约束UNIQUE检查约束CHECK唯一性必须唯一且不允许为空NULL必须唯一但允许一个或多个空值NULL具体取决于数据库系统不涉及唯一性但用于限制列中的值必须满足特定条件标识性可以作为表的唯一标识用于唯一地确定表中的一行记录不能作为表的唯一标识仅用于确保列中的值唯一不能作为表的唯一标识仅用于数据验证数量限制每个表只能有一个主键每个表可以有多个唯一约束每个表可以有多个检查约束自动索引通常会自动创建一个唯一索引也会创建一个唯一索引不一定会自动创建索引但可以根据需要创建条件表达式无特定条件表达式仅要求唯一性和非空性无特定条件表达式仅要求唯一性可以包含复杂的条件表达式用于限制列中的值默认值不能设置默认值因为主键必须唯一且不允许为空所以设置默认值没有意义可以设置默认值但需要注意唯一性可以设置默认值但需要满足检查约束的条件数据完整性强制数据完整性确保每条记录都有一个唯一的标识符确保特定列或列组合中的值唯一有助于维护数据完整性确保列中的值满足特定的业务规则或条件维护数据的一致性和准确性应用场景用于唯一标识表中的记录用于确保特定列或列组合中的值唯一用于限制列中的值以满足特定的业务规则或条件
本人知识、能力有限若有错漏烦请指正非常非常感谢!!!转发或者引用需标明来源。