SQL数据库学习之路(四)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 要求:通过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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
204 3
|
18天前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
5天前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
19天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
19天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
1月前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
19 2
|
2月前
|
SQL JSON Java
没有数据库也能用 SQL
SPL(Structured Process Language)是一款开源软件,允许用户直接对CSV、XLS等文件进行SQL查询,无需将数据导入数据库。它提供了标准的JDBC驱动,支持复杂的SQL操作,如JOIN、子查询和WITH语句,还能处理非标准格式的文件和JSON数据。SPL不仅简化了数据查询,还提供了强大的计算能力和友好的IDE,适用于多种数据源的混合计算。
|
2月前
|
SQL NoSQL 关系型数据库
数据库学习
【10月更文挑战第8天】
24 1
|
2月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
70 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
2月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
108 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库