教学思路SQL之入门习题《学员成绩》 一、建表

简介:
 
习题一学员成绩:
       1.创建一个名为学员成绩的数据库, 主要数据文件初始大小为10MB,最大空间为30MB,文件增长幅度为5MB,日志文件初始大小为5MB,最大为20MB,文件增长幅度为3MB,请自行设定文件的保存路径。
Student
Score
chengji
teacherInfo
   6.建立四个表间的主从表关系。         
     6.1  学生成绩表中能不能出现在学员信息表中不存在的学号 ?
     6.2  学生信息表中学生编号发生改变时应如何处理成绩表中的学生编号 ?
     6.3  可以任意删除学生信息表中的数据吗?
     6.4  学生成绩表中的课程编号可以随意添加吗?
 7.   对学生信息表添加检查约束,要求性别只能是男或者女,年龄必须在 0 100 之间。
 8.对学生信息表的入学日期字段添加默认约束,使其默认值为当前日期。
 9.教师信息表中教师编号(teacherId)使用自动增长序列,初始编号为1001.
 
答案:
6.1 不能
6.2 不能
6.3不能
6.4不能
参照完整性约束
  限制(Restrict)。不允许进行修改或删除操作。若修改或删除主表的主键时,如果子表中存在子记录,系统将产生一个错误提示。这是缺省的参照完整性设置。
  置空(Set Null)。如果外键列允许为空,若修改或删除主表的主键时,把子表中参照的外键列设置为空值(NULL)。
  置为缺省(Set Default)。如果指定了缺省值,若修改或删除主表的主键时,把子表中参照的外键设置为缺省值(Default)。
  级联(Cascade)。把主表中主键修改为一个新的值时,相应修改子表中外键的值;或者删除主表中主键的记录时,要相应删除子表中外键的记录。
 
建库
 
创建student表
CREATE  TABLE [dbo].[student]( 
        [number] [ int] IDENTITY(1,1)  NOT  NULL
        [ name] [ nchar](10)  COLLATE Chinese_PRC_CI_AS  NOT  NULL
        [sex] [ nvarchar](1)  COLLATE Chinese_PRC_CI_AS  NULL  CONSTRAINT [DF_student_sex]     DEFAULT ( '男'), 
        [age] [ smallintNULL
        [ datetime] [ datetimeNULL  CONSTRAINT [DF_student_datetime]     DEFAULT ( getdate()), 
        [diqu] [ varchar](50)  COLLATE Chinese_PRC_CI_AS  NOT  NULL
        [lianxidianhua] [ intNULL
CONSTRAINT [PK_student]  PRIMARY  KEY  CLUSTERED    

        [number]  ASC 
) WITH (PAD_INDEX    =  OFF, IGNORE_DUP_KEY =  OFFON [ PRIMARY
ON [ PRIMARY

GO 
SET ANSI_PADDING  OFF 
GO 
ALTER  TABLE [dbo].[student]     WITH  CHECK  ADD     CONSTRAINT [CK_student]  CHECK    (([age]>(0)  AND [age]<=(100))) 
GO 
ALTER  TABLE [dbo].[student]  CHECK  CONSTRAINT [CK_student] 
GO 
ALTER  TABLE [dbo].[student]     WITH  CHECK  ADD     CONSTRAINT [CK_student_sex]  CHECK    (([sex]= '男'  OR[sex]= '女')) 
GO 
ALTER  TABLE [dbo].[student]  CHECK  CONSTRAINT [CK_student_sex]
 
创建teacherinfo表
 
创建score表
 
创建chengji表
CREATE  TABLE [dbo].[chengji]( 
        [number] [ intNOT  NULL
        [scorenumber] [ intNOT  NULL
        [score] [ floatNOT  NULL 
ON [ PRIMARY

GO 
ALTER  TABLE [dbo].[chengji]     WITH  CHECK  ADD     CONSTRAINT [FK_chengji_score]  FOREIGN  KEY([scorenumber]) 
REFERENCES [dbo].[score] ([scorenumber]) 
GO 
ALTER  TABLE [dbo].[chengji]  CHECK  CONSTRAINT [FK_chengji_score] 
GO 
ALTER  TABLE [dbo].[chengji]     WITH  CHECK  ADD     CONSTRAINT [FK_chengji_student]  FOREIGN  KEY([number]) 
REFERENCES [dbo].[student] ([number]) 
GO 
ALTER  TABLE [dbo].[chengji]  CHECK  CONSTRAINT [FK_chengji_student]
关系图如下:
本文转自叶子文文博客51CTO博客,原文链接http://blog.51cto.com/leafwf/185783如需转载请自行联系原作者

叶子文文
相关文章
|
1月前
|
SQL 数据库 C#
C# .NET面试系列十一:数据库SQL查询(附建表语句)
#### 第1题 用一条 SQL 语句 查询出每门课都大于80 分的学生姓名 建表语句: ```sql create table tableA ( name varchar(10), kecheng varchar(10), fenshu int(11) ) DEFAULT CHARSET = 'utf8'; ``` 插入数据 ```sql insert into tableA values ('张三', '语文', 81); insert into tableA values ('张三', '数学', 75); insert into tableA values ('李四',
66 2
C# .NET面试系列十一:数据库SQL查询(附建表语句)
|
2天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
7天前
|
SQL 自然语言处理 数据库
NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)以及工业级案例教学
NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)以及工业级案例教学
NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)以及工业级案例教学
|
2月前
|
SQL XML 数据库
SQL 入门
SQL 入门
|
2月前
|
SQL 人工智能 运维
数据库基础入门 — SQL排序与分页
数据库基础入门 — SQL排序与分页
25 0
|
2月前
|
SQL 人工智能 运维
数据库基础入门 — SQL运算符
数据库基础入门 — SQL运算符
23 0
|
2月前
|
SQL 人工智能 运维
数据库基础入门 — SQL
数据库基础入门 — SQL
35 0
|
3月前
|
SQL Java 关系型数据库
JDBC技术【SQL注入、JDBC批量添加数据、JDBC事务处理、其他查询方式】(三)-全面详解(学习总结---从入门到深化)
JDBC技术【SQL注入、JDBC批量添加数据、JDBC事务处理、其他查询方式】(三)-全面详解(学习总结---从入门到深化)
33 0
|
15天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
52 10
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改