开发者社区> 空城机> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SQL数据库学习之路(四)

简介: 要求:通过SQL语句创建以下基本表:    教师关系 T(T#, TNAME,TITLE)    课程关系 C(C#,CNAME,T#)    学生关系 S(S#,SNAME,AGE,SEX)    选课关系SC(S#,C#,SCORE)    班级关系CLASS(CLASSID,CLASSNAME)    其中红色粗体为主键,带下划线的属性为外键。
+关注继续查看

要求:通过SQL语句创建以下基本表:

   教师关系 T(T#, TNAME,TITLE)

   课程关系 C(C#,CNAME,T#)

   学生关系 S(S#,SNAME,AGE,SEX)

   选课关系SC(S#,C#,SCORE)

   班级关系CLASS(CLASSID,CLASSNAME)

   其中红色粗体为主键,带下划线的属性为外键。

   通过SQL语句在CLASS表的CLASSID列上创建聚集索引IDX_CLASSID

   通过SQL语句创建在S#C#两个列上创建索引IDX_S#_C#,并指定索引按S#降序,C#升序有序。

   通过SQL语句实现以下操作:

   撤销索引IDX_CLASSID及IDX_S#_C#

   在学生关系中增加班级号属性列CLASSID

   撤销学生关系中的班级号属性列CLASSID

   撤销班级关系CLASS

方法:

1.打开SQL Server Mangement Studio, 连接到本地数据库。在对象资源管理 器中,点击数据库,然后选择新建查询。输入创建数据库的代码,点击执行,在消息窗口出现命令已成功完成。在存放的文件夹中产生mdf主数据文件和ldf日志文件。在对象资源管理器中右键数据库,选择刷新,将会出现work数据库。

create database work

on primary(

name='work',  --主数据文件的逻辑名称

filename='F:\SQL\work1\work.mdf',   --主数据文件的物理名称

size=10mb, --主数据文件的初始大小

filegrowth=10mb --主数据文件的增长率

)

log on(

name='work_log',  --日志文件的逻辑名称

filename='F:\SQL\work1\work_log.ldf',    --日志文件的物理名称

size=5mb, --日志文件的初始大小

filegrowth=10% --日志文件的增长率

)

 

 

 

 

 

 

 

 

2.输入创建各个表的代码,选择这些代码点击执行,刷新work数据库,会出现创建的表。

create table T    --创建表教师关系T

(T# char(4) not null,        

 TNAME char(8) not null,

 TITLE char(10),

 PRIMARY KEY(T#) --设置主键为T#

);

create table C   --创建表课程关系T

(C# char(4),

 CNAME char(10) not null,

 T# char(4),

 PRIMARY KEY(C#),   --设置主键为C#

 FOREIGN KEY(T#)REFERENCES T(T#) --设置外键为T#

);

 

create table S --创建表学生关系S

(S# char(4) not null,

 SNAME char(8) not null,

 AEG char(1),

 PRIMARY KEY(S#) --设置主键为S#

);

create table SC --创建表选课关系SC

(S# char(4),

 C# char(4),

 SCORE SMALLINT,

 PRIMARY KEY(S#,C#),  --设置主键为S#,C#

 FOREIGN KEY(S#)REFERENCES S(S#), ----设置外键为S#

 FOREIGN KEY(C#)REFERENCES C(C#)  ----设置外键为C#

);

create table class  --创建表班级关系class

(

CLASSID char(4),

CLASSNAME char(8)

);

 

 

 

 

 

 

 

 

 

3.输入代码,右键class表,点击设计。出现表class,然后右键CLASSID,选择索引。SC表统一操作。

create unique index IDX_CLASSID on class(CLASSID);  --在CLASS表的CLASSID列上创建聚集索引IDX_CLASSID

create unique index IDX_S#_C# on SC(S# DESC,C# ASC);--创建在S#和C#两个列上创建索引IDX_S#_C#,并指定索引按S#降序,C#升序有序

 

 

 

 

 

 

 

 

 

 

 

 

 

4.撤销索引IDX_CLASSID及IDX_S#_C#。代码为:

DROP INDEX IDX_CLASSID on class; --撤销索引IDX_CLASSID

DROP INDEX IDX_S#_C# on SC; --撤销索引IDX_S#_C#

在学生关系中增加班级号属性列CLASSID。代码为:

alter table S add CLASSID char(4); --在学生关系中增加班级号属性列CLASSID

撤销学生关系中的班级号属性列CLASSID,代码为:

alter table S drop column CLASSID;   --撤销学生关系中的班级号属性列CLASSID

撤销班级关系CLASS,代码为:

drop table class ; --撤销班级关系CLASS

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SQL数据库学习之路(九)
目录   数据库创建补充: 为数据库用户赋予权限 在数据库表中使用视图进行添加修改 数据库创建补充: 以文本格式显示自己创建的数据库表                                          以网格格式显示自己创建的数据库表 可以右键数据库--属性---选项,在选项中可以设置数据库的兼容性,还有是否可以让多人同时访问或者单人访问。
743 0
SQL数据库学习之路(练习)---C#登录界面连数据库
目录 C#登录界面连数据库 一、在数据库中先创建一个数据库。 二、在VS中创建C#的windows窗体应用程序 三、在VS中连接到数据库 四、设计登录界面 五、设置注册界面 六、将form1的按钮和form2进行关联 七、设置form2界面的注册按钮 八、form1的登录按钮设置 九、运行成果 参考文章: C#登录界面连数据库 一、在数据库中先创建一个数据库。
2460 0
SQL数据库学习之路(八)
数据库介绍: 在网页上的主程序中进行注册操作,然后把数据发送给人,人传递这些数据到数据库当中。   为什么学ADO.NET:之前我们所学的只能在查询分析器中查看数据,操作数据。
625 0
SQL数据库学习之路(七)
在SQL server managerment中可以点击帮助,会有帮助文档。 一、联合查询 将多个查询结果集合并成一个。
544 0
SQL数据库学习之路(六)
一、连接查询:当需要的结果需要从多张表中取时 关键问题:哪些表、关系(学生表的Id联系到班级表的Id) 内连接:inner join,两表中完全匹配的数据。
738 0
SQL数据库学习之路(三)
一.表数据的操作 1.简单查询 select * from 表名 2.增加数据 insert into 表名(列名) values(值)                   ----要求值的列名与值要位置对应   ...
703 0
SQL数据库学习之路(二)
(一)1.约束:实现数据的有效性检查---------主键(保证值是唯一的) 2.非空(输入的数据不允许为空) 3.唯一(存入的数据不能重复) 4.默认(自己不给数据添加值,值会默认添加) 5.检查(给值一个选定的范围) 6.外键(对关系的有效性进行检查,有关系才有外键) (二)脚本操作数据库 1.不区分大小写,字符串使用单引号,末尾不需要加分号。
700 0
SQL数据库学习之路(一)
1.数据库简介(一个放数据的仓库)  解决的问题:持久化存储,优化读写,保证数据的有效性 关系型数据库:    基于E-R模型(实体-联系图Entity Relationship)    使用sq|语言进行操作(SQL...
755 0
SQL server 2008 最小化安装(学习专用)
之后下载这两个安装包,根据电脑实际情况下载,这里我选择x64版本的两个轻量级安装包,其他版本比较大,学习的话这两个版本就够了
0 0
VS2017调用SQL server 2019 和C++连接语句字符串
VS2017调用SQL server 2019 和C++连接语句字符串
0 0
+关注
空城机
新手上路
文章
问答
文章排行榜
最热
最新
相关电子书
更多
用SQL做数据分析
立即下载
阿里云流计算 Flink SQL 核心功能解密
立即下载
Comparison of Spark SQL with Hive
立即下载