数据库
首页 > 数据库> > 数据库实验

数据库实验

作者:互联网

实验一

  1. 创建studentdb数据库,创建spjdb数据库

  2. 在studentdb中创建三个表student,course ,sc

  3. 在spjdb中创建四个表S,P,J,SPJ

  4. 在studentdb中创建架构Production和Person并比较区别

  5. 修改表结构

    (1) 将表course的cname列的数据类型改为varchar(40).
    (2) 为表student增加一个新列: birthday(出生日期), 类型为datetime, 默认为空值.
    (3) 将表sc中的grade列的取值范围改为小于等于150的正数.
    (4) 为Student表的“Ssex”字段创建一个缺省约束,缺省值为’男’
    (5)为“Sdept”字段创建一个检查约束,使得所在系必须是’CS’、’MA’或’IS’之一。
    (6)为Student表的“Sname”字段增加一个唯一性约束
    (7)为SC表建立外键,依赖于Student表的fk_S_c约束。
    (8)禁止启用Student表的“Sdept”的CHECK约束ck_student。

  6. 建立索引

    (1) 在student表的sname列上建立普通降序索引.
    (2) 在course表的cname列上建立唯一索引.
    (3) 在sc表的sno列上建立聚集索引.
    (4) 在spj表的sno(升序), pno(升序)和jno(降序)三列上建立一个普通索引.

#创建数据库
CREATE DATABASE studentdb
CREATE DATABASE spjdb
/*在studentdb中创建三个表*/
CREATE TABLE student2020205224
(
    sno CHAR(9) PRIMARY KEY,
    sname CHAR(10) NOT NULL,
    ssex CHAR(2) ,
    sage SMALLINT,
    sdept char(15),
    CHECK (sage>=12),
)
CREATE TABLE course2020205224
(
    cno CHAR(4) PRIMARY KEY,
    cname CHAR(20) NOT NULL,
    cpon CHAR(4) NOT NULL,
    ccredit SMALLINT,
)
CREATE TABLE sc2020205224
(
    sno CHAR(9),
    cnp CHAR(20) PRIMARY KEY,
    grade DECIMAL(5) NOT NULL,
    CHECK(grade>=0 and grade<=100)
)
/*在spjdb中创建三个表*/
CREATE TABLE S2020205224
(
    sno CHAR(2) PRIMARY KEY,
    sname CHAR(10),
    statu SMALLINT,
    city CHAR(10) NOT NULL,
    CHECK(statu>0),
)
CREATE TABLE P2020205224
(
    pno CHAR(2) PRIMARY KEY,
    pname CHAR(10) NOT NULL ,
    color CHAR(2),
    pweight SMALLINT,
    CHECK (pweight>0),
)
CREATE TABLE J2020205224
(
    jno CHAR(2) PRIMARY KEY,
    jname CHAR(10) NOT NULL,
    jcity CHAR(10),
)
CREATE TABLE SPJ2020205224
(
    son CHAR(2),
    pon CHAR(10),
    jno CHAR(10) PRIMARY KEY,
    qty SMALLINT,
    CHECK (qty>0),
)

标签:10,数据库,PRIMARY,CHAR,实验,KEY,TABLE,CREATE
来源: https://www.cnblogs.com/W-xzg/p/16178327.html