• 使用SQL语句,在D盘的Data文件夹下,创建一个名为jxdb+学号后2位的教学管理数据库(如:学号后两位为01,则数据库名为jxdb01)。把教学管理数据库文件增长参数设置为4MB,文件最大大小参数设置为20MB,存储文件的文件名可自定义,其它参数均使用默认值。

    • name为存储文件的文件名
    • filename为真实的物理地址
    • 记得加on关键字
    	create database jxdb29
    on
    (
    name='jxdb29',
    filename='D:\Data\jxdb29.mdf',
    maxsize=20MB,
    filegrowth=4MB
    )
  • 使用SQL语句,在教学管理数据库中,创建Department学院基本表,只定义属性和表的主键。
    表结构如下:

    	create table Department(
    Dno char(2) primary key,
    Dname varchar(15) not null
    )
  • 使用SQL语句,在教学管理数据库中,创建Major专业基本表,只定义属性和表的主键。
    表结构如下:

    	create table Major(
    Mno char(4) primary key,
    Mname varchar(15) not null,
    Dno char(2)
    )
  • 使用SQL语句,在教学管理数据库中,创建Students学生基本表,只定义属性和表的主键。
    表结构如下:

    	create table Students(
    Sno char(10) primary key,
    Sname varchar(4) no null,
    Sgender nchar(1),
    Sage int,
    Dno char(2),
    Sclass char(8),
    Mno char(4)
    )
  • 使用SQL语句,在教学管理数据库中,创建Teachers教师基本表,只定义属性和表的主键。
    表结构如下:

    create table Teachers(
    Tno char(4) primary key,
    Tname varchar(4) not null,
    Tgender nchar(1),
    Tbirth smalldatetime,
    Dno char(2)
    )
  • 使用SQL语句,在教学管理数据库中,创建Courses课程基本表,只定义属性和表的主键。
    表结构如下:

    	create table Courses(
    Cno char(8) primary key,
    Cname varchar(20) not null,
    Chours int,
    Ccredit int
    )
  • 使用SQL语句,在教学管理数据库中,创建Reports选课基本表,只定义属性和表的主键。
    表结构如下:

    create table Reports(
    Sno char(10),
    Cno char(7),
    Racademicyear int,
    Rterm int,
    Grade int,
    primary key(Sno,Cno)
    )
  • 使用SQL语句,在教学管理数据库中,创建Tutors授课基本表,只定义属性和表的主键。
    表结构如下:

    create table Tutors(
    Tno char(4) not null,
    Cno char(8) not null,
    Tacademicyear int,
    Tterm int,
    Sclass char(8)
    )
  • 使用SQL语句修改Department表结构:
    增加“学院院长”字段Dheader,类型为CHAR(4)。

    alter table Department add Dheader char(4)
  • 使用SQL语句修改Students表结构:
    (1)将“年龄”字段Sage改为“出生日期”字段Sbirth,类型为SMALLDATETIME;

    alter table Students drop column Sage
    alter table Students add Sbirth smalldatetime

    (2)增加一个“生源地”字段Snative,类型为NVARCHAR(20)

    alter table Students add Snative varchar(20)
  • 使用SQL语句修改Courses表结构:
    增加“先序课程编号”字段Pre_Cno,类型为CHAR(8)

    	alter table Courses add Pre_Cno char(8)
  • 使用SQL语句修改Reports表结构:
    将“成绩”字段Grade的类型改为DECIMAL(4,1)

    alter table Reports alter column Grade decimal(4,1)
  • 使用SQL语句修改Tutors表结构
    增加以下字段内容 :
    “课程评分”(Tevaluation) DECIMAL(4,2),
    “学生评价”(Tmemo) NVARCHAR(150)

    alter table Tutors add Tevaluation decimal(4,2)
    alter table Tmemo varchar(150)
  • 使用SQL语句,对各基本表中的外键进行声明,包括:
    (1)学院表Department:Dheader

    alter table Department
    add constraint FK_Dheader
    foreign key(Dheader) references Teachers

    (2)专业表Major:Dno

    alter table Major
    add constraint FK_Dno
    foreign key(Dno) references Department

    (3)学生表Students:Mno

    alter table Students
    add constraint FK_Mno
    foreign key(Mno) references Major

    (4)教师表Teachers:Dno

    alter table Teachers
    add constraint FK_Dno
    foreign key(Dno) references Department

    (5)选课表Reports:Sno, Cno

    alter table Reports
    add constraint FK_Sno
    foreign key(Sno) references Students alter table Reports
    add constraint FK_Cno
    foreign key(Cno) references Courses

    (6)课程表Courses:Pre_Cno

    alter table Courses
    add constraint FK_Pre_Cno
    foreign key(Pre_Cno) references Courses(Cno)
    -- 因为同一个表,不指名参照Cno可能会导致参照到Pre_Cno,因为外键一般都是和另一表主键同名

    (7)授课表Tutors:Tno, Cno

    alter table Tutors
    add constraint FK_Tno
    foreign key(Tno) references Teachers alter table Courses
    add constraint FK_Cno
    foreign key(Cno) references Courses
  • 使用SQL语句,创建各基本表的索引,包括:
    (1)在表Students的Mno列上按降序创建索引IDX_Stu_Mno

    create index IDX_Stu_Mno on Students(Mno desc)

    (2)在表Courses的Cname列上按升序创建唯一索引IDX_Cou_Cname

    create unique index IDX_Cou_Cname on Courses(Cname asc)

    (3)在表Reports的学年列上按降序,同时在学期列上按升序创建索引

    create index IDX_Rep_Year_Term on Reports(Racademicyear desc, Rterm asc)

    (4)在表Teachers的职称列上按升序,同时在出生日期列上按降序创建索引

    create index  IDX_Prof_Birth ON Teachers(Dno asc, Tbirth desc)

    (5)在表Tutors的Tno列上按升序创建索引

    create index IDX_Tno ON Tutors(Tno asc)

    (6)在表Tutors的Sclass列上按降序创建索引

    create index IDX_Sclass ON Tutors(Sclass desc)
  • 用SQL语句删除表Teachers中在职称列和出生日期列上创建的索引

    drop index IDX_Prof_Birth on Teachers

数据库实验—DDL的更多相关文章

  1. 数据库---实验四 oracle的安全性和完整性控制

    实验内容: (一) 授权 . 以dba用户的身份登陆oracle,创建用户u1+学号后四位,u2+学号后四位. SQL> create user u1_3985 identified by &q ...

  2. 数据库级别DDL操作监控审计、数据库触发器/服务器触发器

    关键词:数据库触发器/服务器触发器  ,数据库级别DDL操作监控审计,禁止修改登录名密码 [1]数据库级别DDL操作监控审计 转自2012示例库,只能数据库级别,不能实例级别 use database ...

  3. MySQL数据库之DDL(数据定义语言)

    1.MySQL数据库之DDL创建.删除.切换 (1)查看所有数据库 show databases: (2)切换数据库 use 数据库名: (3)创建数据库 create database 数据库名: ...

  4. 使用PostgreSQL 脚本导出数据库的DDL

    使用PostgreSQL 脚本导出数据库的DDL 本文主要介绍如何使用基于 PostgreSQL pgdump编写的自定义脚本来导出数据库的DDL. 一.文件说明: 1.pgdump基础语句.sql: ...

  5. 数据库中DDL、DML、DCL和TCP概念

    1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema ...

  6. 数据库中"DDL","DML","DCL"

    sql组成:DDL:数据库模式定义语言,关键字:createDML:数据操纵语言,关键字:Insert.delete.updateDCL:数据库控制语言 ,关键字:grant.removeDQL:数据 ...

  7. OGG_GoldenGate数据库配置DDL同步(案例)

    2014-03-08 Created By BaoXinjian

  8. 数据库:DDL/DML/DCL/TCL基本概念

    SQL(Structure Query Language)语言是数据库的核心语言 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询块: ...

  9. MySQL数据库实验六:存储过程建立与调用

    实验六  存储过程建立与调用 一.实验目的 理解存储过程的概念.建立和调用方法. 二.实验环境 三.实验示例 1.定义一个函数,按性别计算所有学生的平均年龄. CREATE FUNCTION aver ...

  10. 数据库的DDL、DML和DCL的区别与理解

    DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL ...

随机推荐

  1. #线性dp#洛谷 5999 [CEOI2016]kangaroo

    题目 问有多少个长度为 \(n\) 的排列满足首项为 \(st\),末项为 \(ed\), 并且 \(\forall i\in (1,n),\left[a_{i-1}<a_i \oplus a_ ...

  2. FindBugs问题EQ_COMPARETO_USE_OBJECT_EQUALS的解决方法

    本文记录的是2016年4月初发生的事情. 前几天,标准CI的静态检查页面发现一个项目组同事引入的FindBugs问题,EQ_COMPARETO_USE_OBJECT_EQUALS,CI对这个问题给出的 ...

  3. OpenHarmony应用ArkUI 状态管理开发范例

      本文转载自<#2023盲盒+码# OpenHarmony应用ArkUI 状态管理开发范例>,作者:zhushangyuan_ 本文根据橘子购物应用,实现ArkUI中的状态管理. 在声明 ...

  4. OpenHarmony—内核对象事件之源码详解

    近年来,国内开源实现跨越式发展,并成为企业提升创新能力.生产力.协作和透明度的关键.作为 OpenAtom OpenHarmony(以下简称"OpenHarmony")开源项目共建 ...

  5. java switch 自定义表格的渲染和编辑示例

    目录 正常使用表格 自定义表格样式 正常使用表格 很简单,使用一次就知道了,不过多介绍. // 创建 JTable 实例,使用默认的模型 JTable table = new JTable(); // ...

  6. Linux Ubuntu安装配置教程

    Ubuntu是一个基于Linux的开源操作系统,它遵循GNU通用公共许可证,用户可以自由使用.复制.分发和修改.它提供直观易用的桌面环境,适合新手和有经验用户.Ubuntu有强大的软件中心,支持多硬件 ...

  7. 什么是ip协议二

    前言 续前面一章. 正文 看下ip选项: 看一张图: 这个ip选项一般我们不用看,即使你去搞硬件,那么做c++或者c的人会告诉你填啥,按照他们设置即可. 那么ip是如何传输的呢? 先看这张图,这张图的 ...

  8. uniapp小程序页面实现元素与胶囊进行居中对齐

    无论是否为uni,关键在于获取胶囊中点的位置,如果是原生小程序根据小程序文档获取,其余逻辑处理是一致的 代码语法都只是技术选择,重点是逻辑处理,对于技术的运用,代码技术好比是积木,好的程序就是好的组合 ...

  9. MD5前端vue加密

    Vue 前端md5加密用户注册时将加密后的密码发送给后端存储当登陆的时候,再将加密后的密码和数据库中加密的密码相匹配.npm: https://www.npmjs.com/package/crypto ...

  10. 提质增效,安全灵活,阿里云EDA上云方案让芯片设计驶入高速路

    简介: 今天下午14点,直播间等你 导语:随着芯片工艺的跃升,EDA 需要越来越大的计算能力,处理高达PB级的海量数据.传统的算力交付模式已无法跟上快速发展的芯片设计行业,云的快速交付与强大生态提供了 ...