数据库复习(3)

第三章 关系数据库标准语言SQL


3.1 SQL概述

SQL 功能 动词
数据查询 SELECT
数据定义 CREATE, DROP, ALTER
数据操纵 INSERT, UPDATE, DELETE
数据控制 GRANT, REVOKE


SQL支持关系数据库三级模式结构

<作图>

  • 基本表
  • 存储文件
  • 视图

3.2 学生-课程数据库

学生表       |   Student(Sno,Sname,Ssex,Sage,Sdept)
课程表       |   Course(Cno,Cname,Cpno,Ccredit)
学生选课表    |   SC(Sno,Cno,Grade) 

3.3 数据定义

操作对象 创建 删除 修改
模式 CREATE SCHEMA DROP SCHEMA
CREATE TABLE DROP TABLE ALTER TABLE
视图 CREATE VIEW DROP VIEW
索引 CREATE INDEX DROP INDEX

3.3.1 模式的定义与删除

定义模式

CREATE SCHEMA <模式名> AUTHORIZATION <用户名>;

create schema <模式名> authorization <用户名>;
  • 如果没有指定 <模式名>,那么 <模式名> 隐含为 <用户名>

  • 定义模式实际上定义了一个命名空间。在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索引等。

删除模式

DROP SCHEMA <模式名> <CASCADE|RESTRICT>;
CASCADE(级联)
删除模式的同时把该模式中所有的数据库对象全部删除
RESTRICT(限制)
如果该模式中定义了下属的数据库对象(如表、视图等),则拒绝该删除语句的执行。当该模式中没有任何下属的对象时 才能执行。

3.3.2 基本表的定义、删除与修改

定义基本表

CREATE TABLE <表名>
(
    <列名>   <数据类型>   <列级完整性约束条件>,
    <列名>   <数据类型>   <列级完整性约束条件>,
    <列名>   <数据类型>   <列级完整性约束条件>

    <表级完整性约束条件>  
);

建立学生表Student,学号是主码,姓名取值唯一。

CREATE TABLE Student          
(
    Sno       CHAR(9)     PRIMARY KEY,  /* 列级完整性约束条件*/   
    Sname     CHAR(20)    UNIQUE,       /* Sname取唯一值*/
    Ssex      CHAR(2),
    Sage      SMALLINT,
    Sdept     CHAR(20)
); 

建立一个“学生选课”表SC

CREATE TABLE  SC
(
     Sno      CHAR(9),
     Cno      CHAR(4),
     Grade    SMALLINT,

     PRIMARY KEY   (Sno, Cno),                       /* 作为表级完整性进行定义*/
     FOREIGN KEY   (Sno) REFERENCES Student(Sno),    /* 表级完整性约束条件,Sno是外码,被参照表是Student */
     FOREIGN KEY   (Cno) REFERENCES Course(Cno)      /* 表级完整性约束条件, Cno是外码,被参照表是Course*/
); 

数据类型

数据类型
CHAR(n)
VARCHAR(n)
INT
SMALLINT
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值