SQL数据库学习之路(四)
要求:通过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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python全栈 Web(Django框架、HttpRequest,csrf跨域攻击)
Djanog 的ORM 自定义查询对象 - objects 声明一个类 EntryManager 继承自models.Manager 允许在EntryManager 的类中添加自定义函数 class EntryManager(models.Manager): def 函数名(self, 自定义参数列表): ... return ... 使用EntryManager 来覆盖 Models类中原有的objects #自定义AuthorManager类,用于覆盖Author实体类中的objects class AuthorManager(models.Manager): def age_lt
- 下一篇
JVM系列-001-JVM监控工具
版权声明:本文为博主原创文章,未经博主允许不得转载。如需授权请联系微信:878799579 https://blog.csdn.net/qq_878799579/article/details/83300996 JVM系列-001-JVM监控工具 在我们安装的jdk里面的bin目录下有一个jconsole.exe程序。这就是一个JVM的监控工具。我们可以直接打开它,如果配置了环境变量,也可以在命令中直接输入jconsole命令来打开它 在控制台输入jconsole,当我们打开jconsole之后,界面如下: 本地进程中列出了本地所有运行的java进程(使用jps命令可以查看到当前所有的java进程)。如下图 注:jps进程只是在当时出现,敲击完成之后就结束了。 在jconsole中选择了进程,点击连接就能进入监控。 下图为连接后的jvm监视和管理控制台页面,此页面可以体现出堆栈使用情况。以及可以直接调用GC方法进行垃圾回收。 Jconsole界面由以下六个选项卡组成: Summary选项卡:显示JVM和被监视值的汇总信息 Memory选项卡:显示内存使用信息。 Threads选项卡:显...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS6,CentOS7官方镜像安装Oracle11G