IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据库系统概念第七版mysql加载university数据库 -> 正文阅读

[大数据]数据库系统概念第七版mysql加载university数据库

数据库系统概念第七版mysql加载university数据库

? 课本提供的是SQLite的数据库.db文件格式,网上大多数都是用SQLite数据库的创建表(DDL)语句来创建的,我想用MySQL,就有了下面这些。

? 文中提到的内容,百度网盘下载链接:

链接:https://pan.baidu.com/s/1tIJlzUeyigMC8LJfjHm4Qw
提取码:1234

一、打开mysql

? Windows+R,输入cmd打开终端。

image-20220309190708010

image-20220309190739977

? 输入:

mysql -uroot -p

image-20220309190807802

? 密码自己输入自己设置的密码。成功进来应该是这样:

image-20220309191141541

二、创建一个自己的数据库

? (不能与目前有的数据库名重复,使用下面语句查看当前数据库系统里面有哪些数据库)

show databases;

image-20220309191515624

? 创建数据库:(我已经创建过一个university的数据库了,不能重名,可以自己起名)

create database university_1;

? 创建成功后,再次查看已有的数据库,就有了university_1:

image-20220309194354800

三、创建表

? 先确定对哪个数据库操作,刚才创建的那个空数据库:

use university_1;

image-20220309194553650

? 然后创建里面所有的表(不会生成sql文件,复制粘贴一下就行):

CREATE TABLE classroom
	(building		varchar(15),
	 room_number		varchar(7),
	 capacity		numeric(4,0),
	 primary key (building, room_number)
	);

CREATE TABLE department
	(dept_name		varchar(20), 
	 building		varchar(15), 
	 budget		        numeric(12,2) check (budget > 0),
	 primary key (dept_name)
	);

CREATE TABLE course
	(course_id		varchar(8), 
	 title			varchar(50), 
	 dept_name		varchar(20),
	 credits		numeric(2,0) check (credits > 0),
	 primary key (course_id),
	 foreign key (dept_name) references department(dept_name)
		on delete set null
	);

CREATE TABLE instructor
	(ID			varchar(5), 
	 name			varchar(20) not null, 
	 dept_name		varchar(20), 
	 salary			numeric(8,2) check (salary > 29000),
	 primary key (ID),
	 foreign key (dept_name) references department(dept_name)
		on delete set null
	);

CREATE TABLE 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),
	 foreign key (course_id) references course(course_id)
		on delete cascade,
	 foreign key (building, room_number) references classroom(building, room_number)
		on delete set null
	);

CREATE TABLE 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),
	 foreign key (course_id,sec_id, semester, year) references section(course_id, sec_id, semester, year)
		on delete cascade,
	 foreign key (ID) references instructor(ID)
		on delete cascade
	);

CREATE TABLE 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),
	 foreign key (dept_name) references department(dept_name)
		on delete set null
	);

CREATE TABLE 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),
	 foreign key (course_id,sec_id, semester, year) references section(course_id, sec_id, semester, year)
		on delete cascade,
	 foreign key (ID) references student(ID)
		on delete cascade
	);

CREATE TABLE advisor
	(s_ID			varchar(5),
	 i_ID			varchar(5),
	 primary key (s_ID),
	 foreign key (i_ID) references instructor (ID)
		on delete set null,
	 foreign key (s_ID) references student (ID)
		on delete cascade
	);

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)
	);

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)
	);

? 生成完应该是这样:

image-20220309194720508

四、导入数据

? 之前已经创建好表结构了,表里面还没有数据,下面把数据导入。

? 先来看一下已经有的表:

show tables;

image-20220309194857985

? 然后,导入数据:

image-20220309195136988

? 打开压缩包里面的Sample Tables文件夹:

image-20220309195205418

? 不知道tableGen.java和readme.doc有啥用,咱们只用.sql结尾的两个文件。

? 在终端里面输入source,然后将smallRelationsInsertFile.sql鼠标按住拖动到终端里面。

image-20220309195612411

? 拖进来以后应该是这样:

image-20220309195935092

? source和地址之间是有空格的,把地址两端的“ ”删掉。

image-20220309195807485

? 然后回车运行就可以了:

image-20220309200035307

? 另外一个大的.sql文件一样的操作:

image-20220309200118621

? 然后回车运行,这个文件比较大,时间较长:
image-20220309200745168

? 运行完也这个样子,然后就可以了,随便写个语句看一下里面内容:

image-20220309201018104

? 有显示,应该就是可以了。

? 没怎么使用,不知道具体数据是不是与课本第七版用的完全一样,不一样后面再更新。

? 第七版教材数据库的原版数据库的网址,可以直接在网页上使用sql语句查询:

? https://www.db-book.com/university-lab-dir/sqljs.html

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-11 22:17:06  更:2022-03-11 22:20:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:58:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码