没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
内容概要:本文档介绍了数据库设计的基本概念,并通过具体实例(学生、课程、成绩信息管理系统)展示了数据库的设计步骤。同时,涵盖了mySQL的安装、配置、管理工具的使用、表的创建、数据插入、存储过程及函数的编写、字符集设置以及存储引擎的选择与更改等方面的内容。 适合人群:初学者及具备一定数据库基础知识的技术人员。 使用场景及目标:①学习数据库设计的基本方法和技术;②掌握mySQL数据库的安装与配置;③了解和使用mySQL的各种管理和维护操作。 阅读建议:在学习过程中,建议动手实践每一个操作步骤,尤其是创建表、存储过程和函数,以加深理解和记忆。
资源推荐
资源详情
资源评论
数据库 mysql 课程设计
第 1 章 数据库设计
E-R 设计
很多同学在学 SQL 语句时,觉得非常困难,那是因为你在学一个你根本不了解的数据库,
数据库中的表不是你设计的,表与表之间的关系你不明白。因此在学 SQL 语句之前,先介
绍一下数据库设计。
下面举例说明数据库设计:
学校需要开发一个系统记录有学生、课程和成绩信息。数据库如何设计?
这里面涉及到两个实体,学生表、课程,这些表为实体表。
这些表之间有什么关系呢?、学生考试出成绩,成绩记录在成绩表。
一个学生可以参加多门课程,关系是 1 对多。
数据库设计实例
设计数据库和表
安装 mySQL
运行 apt-get update 命令以确保您的软件包列表是最新的。
root@ubuntuServer:~# apt-get update
安装 mySQL 服务
root@ubuntuServer:~#apt-get install mysql-server
设置 mySQL 允许远程连接
需要更改配置文件和创建远程连接的 mySQL 用户。
1. 更改配置文件允许远程连接 mySQL
默认 mySQL 只允许本地连接,需要更改配置文件。
root@ubuntuServer:~# vi /etc/mysql/my.cnf
注释掉红色部分。
重启 mySQL 服务
root@ubuntuServer:~# /etc/init.d/mysql restart
关闭防火墙或打开 3306 端口
root@ubuntuServer:~# ufw disable
2. 创建远程管理员
mySQL 的登录账户包括用户名和计算机名组成,比如 root@127.0.0.1 和 root@localhost 是
两个 mySQL 用户,有不同的权限和密码。
登录 mySQL
mysql> use mysql; 切换数据库
查看 user 表
Select host,user,password from user;
创建新 mySQL 管理员 root 在 192.168.80.%网段连接 mySQL,
以下命令创建并授权'root'@'192.168.80.%'用户,all privileges 代表所有权限,*.*代
表所有数据库所有表,identified by 代表该用户的密码,with grant option 代表该用户
还可以授权其他用户。
mysql> grant all privileges on *.* to 'root'@'192.168.80.%' identified by
'a1!' with grant option;
运行以下命令刷新权限
mysql> flush privileges;
运行以下命令查看,创建的用户
mysql> select host,user from user;
使用管理工具连接 mySQL
以下操作连接将会使用以上创建的 root@192.168.80.%用户连接 mySQL。并创建数据库
在物理机上安装 MyManagerLiteSetup.exe,语言选择“English”。
准备 mySQL 学习环境
创建以后学习过程中用到的表。
将以下代码复制到 SQL Manager 工具中,选中代码,按
或 F9 运行,完成
1. 创建学生表
CREATE TABLE `TStudent` (
`StudentID` varchar(15) NOT NULL,
`Sname` varchar(10) DEFAULT NULL,
`sex` char(1) DEFAULT NULL,
`cardID` varchar(20) DEFAULT NULL,
`Birthday` datetime DEFAULT NULL,
`Email` varchar(40) DEFAULT NULL,
`Class` varchar(20) DEFAULT NULL,
`enterTime` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2. 创建课程表
create table TSubject
(
subJectID nvarchar(10),
subJectName nvarchar(30),
BookName nvarchar(30),
Publisher nvarchar(20)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
3. 创建分数表
create table TScore
(
StudentID nvarchar(15),
subJectID nvarchar(10),
mark decimal
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
4. 插入课程信息
insert into TSubject values ('0001','计算机网络','奠基计算机网络','清华出版社');
insert into TSubject values ('0002','数据结构','大话数据结构','人邮出版社');
insert into TSubject values ('0003','JAVA 开发','JAVA 企业级开发','人邮出版社')
5. 创建函数 该函数能够产生学生姓名
create function create_name()
RETURNS varchar(3)
begin
DECLARE LN VARCHAR(300);
DECLARE MN VARCHAR(200);
DECLARE FN VARCHAR(200);
DECLARE LN_N INT;
DECLARE MN_N INT;
DECLARE FN_N INT;
SET LN='李王张刘陈杨黄赵周吴徐孙朱马胡郭林何高梁郑罗宋谢唐韩曹许邓萧冯曾程蔡彭
潘袁于董余苏叶吕魏蒋田杜丁沈姜范江傅钟卢汪戴崔任陆廖姚方金邱夏谭韦贾邹石熊孟秦
阎薛侯雷白龙段郝孔邵史毛常万顾赖武康贺严尹钱施牛洪龚';
剩余30页未读,继续阅读
资源评论
奔向理想的星辰大海
- 粉丝: 8528
- 资源: 81
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功