- pdf 下载:明码 7281
- 专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解
一:注意事项
- 本章是整个数据库中最重要的一章,学了那么多实践,如果连最根本的 SQL 查问语句都写的磕磕绊绊,那数据库等于没学
- 首次接触数据库的小伙伴可能会感觉前两章的概念太过艰涩难懂,然而没有关系,学完这一章之后,你会发现后面的概念仿佛逐步清晰了
- 切记!肯定要装置 MYSQL,而后随本章内容一起练习。你看懂了其实基本没有懂,不要骗本人,欠下的账终归是要还的!
- 本节所有筹备工作在我的机器上曾经全副测试正确了,如果你能依照以下步骤操作,根本没有问题。当然我也不能保障不出错,如果呈现谬误,请大家本人查阅百度或者 C 站,肯定要本人入手,不要一遇到挫折就撂挑子不干了
二:MYSQL 环境
(1)下载
- MYSQL 有很多版本,为了适宜大多数人,这里抉择 Windows 版本,下载地址为点击跳转
- 网速较慢,我曾经下载好了,百度网盘链接
- 提取码:1eeg
(2)装置
点击下载后的文件,运行
抉择 I accept 而后点击 next 进入下一步
这里抉择 Developer Default,而后点击 next 进入下一步
在抉择装置门路时默认 C 盘 不倡议 请更换其余磁盘门路
这一步是查看装置条件,间接点击 next 进入下一步就能够了
这里间接点击 execute 执行就能够了,执行完后点击 next 进入下一步。
到这里设置 mysql 数据库 root 明码 而后再点击 next:
一路点击 next,并 check 你的 root 明码,MySQL 就胜利在你的电脑上装置实现了
装置实现后进入 MySQL 的装置目录,进入 MySQL Sever,其目录下的文件如下:
装置实现 应用 mysql 可视化工具查问和操作
(3)MYSQL 可视化工具 Navicat 装置
- 百度网盘链接
- 提取码:w8n7
下载后是这样的
接着装置补丁
而后抉择刚刚装置的 Navicat 装置门路下找到 navicat.exe 文件,点击抉择即可激活 胜利
三:连贯数据库
- 留神如果连贯不胜利,可在 CSDN 中查问谬误提示信息,肯定有解决方案
关上 navicat,点击 连贯,抉择 数据库
弹出以下界面(以 MySQL 为例),相熟各局部的作用
测试是否能够连贯,有以下提醒,点击确定开始应用数据库
双击 或 右键 关上连贯,图标变亮示意曾经关上连贯
五:建设练习所需根本表
和课本一样,本章所波及的关系如下
- 关系 Student:学生根本信息
- 关系 Course:课程根本信息
- 关系 SC:问题根本信息
请按如下步骤执行即可,先不要管为什么,你只须要把表建设好即可
点击查问,再点击新建查问
输出以下 SQL 语句
/* 例 3.5 建设一个学生表 */
/*1、删除 practice_db 数据库(如果存在)*/
drop database if exists practice_db;
/*2、创立数据库 practice_db 数据库 */
create database practice_db charset utf8;
use practice_db; -- 抉择 jt_db 数据库
/*3. 创立学生表 Student(例 3.5)*/
Create table Student(Sno char(9) Primary key,/* 列级完整性约束条件,Sno 是主码 */
Sname char(20) unique,/*Sname 取惟一值 */
Ssex char(2),
Sage smallint,
Sdept char(20)
);
/*4. 插入学生信息 */
insert into Student values('201215121','李勇','男',20,'CS');
insert into Student values('201215122','刘晨','女',19,'CS');
insert into Student values('201215123','王敏','女',18,'MA');
insert into Student values('201215125','张立','男',19,'IS');
/*6. 创立课程表 Course(例 3.6)*/
create table Course(Cno char(4) primary key,
Cname char(40) Not NULL,
Cpno char(4),/*Cpno 的含意是后行课 */
Ccredit smallint,
foreign key(Cpno) references Course(Cno) /*Cpno 是外码, 被参照示意 Course, 被参照列是 Cno*/
);
/*6. 插入课程信息 */
/* 因为 Course 表以本身为外键束缚, 所以要先禁用外键束缚插入数据, 插入实现后再开启外键束缚 */
SET FOREIGN_KEY_CHECKS=0; /* 禁用外键束缚 */
insert into Course values('1','数据库','5',4);
insert into Course values('2','数学','null',2);
insert into Course values('3','信息系统','1',4);
insert into Course values('4','操作系统','6',3);
insert into Course values('5','数据结构','7',4);
insert into Course values('6','数据处理','null',2);
insert into Course values('7','PASCAL 语言','6',4);
SET FOREIGN_KEY_CHECKS=1; /* 插入实现后开启外键束缚 */
/*7. 建设学生选课表 SC(例 3.7)*/
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*/
);
/*8. 插入学生选课信息 */
insert into SC values('201215121','1',92);
insert into SC values('201215121','2',85);
insert into SC values('201215121','3',88);
insert into SC values('201215122','2',90);
insert into SC values('201215122','3',80);
右键点击刷新,所创立的数据库 practice_db
便呈现了
双击practice_db
,并抉择“表”开展,咱们所创立的三张表便呈现了
- 留神,如果后续再写一些 SQL 语句运行完之后发现对应地位没有更改,持续右键刷新即可
至此,所有筹备曾经实现