ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库系统概念示例

2022-04-16 02:01:32  阅读:157  来源: 互联网

标签:varchar 示例 ID 概念 course key sec 数据库系统 id


 

Windows PowerShell
版权所有(C) Microsoft Corporation。保留所有权利。

安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindows

PS C:\Users\iyang> mysql -u root -p
Enter password: ************
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.27 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database if not exists school;
Query OK, 1 row affected (0.00 sec)

mysql> show database;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'database' at line 1
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| sys                |
| test               |
+--------------------+
6 rows in set (0.01 sec)

mysql> use school
Database changed
mysql> create table if not exists classroom (
    ->  building   varchar(15),
    ->  room_number   varchar(7),
    ->  capacity     numeric(4,0),
    ->  primary key(building, room_number));
Query OK, 0 rows affected (0.02 sec)

mysql> create table if not exists department (
    ->  dept_name   varchar(20),
    ->  building   varchar(15),
    ->  budget     numeric(12, 2) check(budget > 0),
    ->  primary key(dept_name));
Query OK, 0 rows affected (0.01 sec)

mysql> create table if not exists course (
    ->  course_id   varchar(8),
    ->  title   varchar(50),
    ->  dept_name    varchar(20),
    ->  credits     numeric(2,0) check(credits > 0),
    ->  primary key(course_id),
    ->  constraint foreign key (dept_name) references department(dept_name) on delete set null);
Query OK, 0 rows affected (0.02 sec)

mysql> create table if not exists instructor (
    ->  ID varchar(5),
    ->  name varchar(20) not null,
    ->  dept_name  varchar(20),
    ->  salary   numeric(8,2) check(salary > 29000),
    ->  primary key(ID),
    ->  constraint foreign key (dept_name) references department(dept_name) on delete set null);
Query OK, 0 rows affected (0.02 sec)

mysql> create table if not exists section(
    ->  course_id   varchar(8),
    ->  sec_id      varchar(8),
    ->  semester    varchar(6) check(semester in ('Fall', 'Winter', 'Spring', 'Summer')),
    ->  year        numeric(4,0) check(year > 1701 and year < 2100),
    ->  building    varchar(15),
    ->  room_number varchar(7),
    ->  time_slot_id varchar(4),
    ->  primary key(course_id, sec_id, semester, year),
    ->  constraint foreign key (course_id) references course(course_id) on delete cascade,
    ->  constraint foreign key (building, room_number) references classroom(building, room_number) on delete set null);
Query OK, 0 rows affected (0.03 sec)

mysql> create table if not exists teaches(
    ->  ID      varchar(5),
    ->  course_id   varchar(8),
    ->  sec_id      varchar(8),
    ->  semester    varchar(6),
    ->  year        numeric(4, 0),
    ->  primary key(ID, course_id, sec_id, semester, year),
    ->  constraint foreign key(course_id, sec_id, semester, year) references section(course_id, sec_id, semester, year) on delete cascade,
    ->  constraint foreign key(ID) references instructor(ID) on delete cascade);
Query OK, 0 rows affected (0.02 sec)

mysql> create table if not exists student (
    ->  ID    varchar(5),
    ->  name     varchar(20) not null,
    ->  dept_name   varchar(20),
    ->  tot_cred        numeric(3,0) check(tot_cred >= 0),
    ->  primary key(ID),
    ->  constraint foreign key (dept_name) references department(dept_name) on delete set null);
Query OK, 0 rows affected (0.02 sec)

mysql> create table if not exists takes(
    ->  ID       varchar(5),
    ->  course_id       varchar(8),
    ->  sec_id          varchar(8),
    ->  semester        varchar(6),
    ->  year            numeric(4, 0),
    ->  grade           varchar(2),
    ->  primary key(ID, course_id, sec_id, semester, year),
    ->  constraint foreign key(course_id, sec_id, semester, year) references section(course_id, sec_id, semester, year) on delete cascade,
    ->  constraint foreign key(ID) references student(ID) on delete cascade);
Query OK, 0 rows affected (0.03 sec)

mysql> create table if not exists advisor(
    ->  s_ID        varchar(5),
    ->  i_ID            varchar(5),
    ->  primary key(s_ID),
    ->  constraint foreign key(i_ID) references instructor(ID) on delete set null,
    ->  constraint foreign key(s_ID) references student(ID) on delete cascade);
Query OK, 0 rows affected (0.03 sec)

 

mysql> create table prereq
    ->     (course_id varchar(8),
    ->      prereq_id varchar(8),
    ->      primary key (course_id, prereq_id),
    ->      foreign key (course_id) references course(course_id) on delete cascade,
    ->      foreign key (prereq_id) references course(course_id) on delete cascade
    ->     );
Query OK, 0 rows affected (0.02 sec)

mysql> create table time_slot
    ->     (time_slot_id varchar(4),
    ->      day    varchar(1),
    ->      start_hr numeric(2) check (start_hr >= 0 and start_hr < 24),
    ->      start_min numeric(2) check (start_min >= 0 and start_min < 60),
    ->      end_hr     numeric(2) check (end_hr >= 0 and end_hr < 24),
    ->      end_min numeric(2) check (end_min >= 0 and end_min < 60),
    ->      primary key (time_slot_id, day, start_hr, start_min)
    ->     );
Query OK, 0 rows affected (0.01 sec)

 

标签:varchar,示例,ID,概念,course,key,sec,数据库系统,id
来源: https://www.cnblogs.com/cs-vm/p/16151720.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有