《数据库系统概论》课程之实验一:认识DBMS系统

《数据库系统概论》课程之实验一:认识DBMS系统

实验目的

  1. 通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。

  2. 熟悉对DBMS的操作。

  3. 搭建今后实验的平台。

实验平台

操作系统

Windows 10

数据库管理系统

MySQL

实验流程

1 安装与启动

1. 根据安装文件的说明安装数据库管理系统。

  1. 前往官网(www.mysql.com)下载Mysql的安装包。点击DOWNLOADS,选择免费的版本MYSQL Community(GPL)Downloads,再选择适用于当前操作系统Windows的安装版MySQL Installer for Windows,下载完整版Windows (x86, 32-bit), MSI Installer。

image-20220416175855668

image-20220416175901277

image-20220323095532345

image-20220323095551523

  1. 打开下载好的安装程序。选择默认的安装类型(包含MySQL Server就可以),点击“Next”。

    image-20220323095654235

    image-20220323095733661

  2. 点击“Execute”开始安装。

    image-20220323095751106

  3. 全部安装完成后再点击“Next”。

    image-20220323095808455

  4. 接下来的服务器配置、认证方法按照默认的,点击“Next”即可。

    image-20220323100040909

    image-20220323100045375

  5. 输入root账户的密码。完成后点击“Next”。

    image-20220323100108767

    image-20220323100113320

  6. 输入MySQL主机名。完成后点击“Next”。

    image-20220323100130591

  7. 点击“Execute”应用配置。

    image-20220323100255637

    image-20220323100303213

  8. 接下来点击“Next”和“Finish”,完成产品配置和路由器配置。

    image-20220323100334915

    image-20220323100345627

  9. 输入密码,点击“Check”,确保连接至服务器。然后“Next”。

    image-20220323100359594

    image-20220323100408828

  10. 再次点击“Execute”应用服务器配置。然后点击“Finish”。

    image-20220323100422753

    image-20220323100425706

  11. 点击“Next”,然后点击“Finish”。安装完成。

    image-20220323100440615

    image-20220323100444305

2. 启动和停止数据库服务

学会启动和停止数据库服务,思考可以用哪些方式来完成启动和停止。

  1. 使用命令行:

    • 以管理员身份打开命令提示符。

    • 启动net start mysql80

      image-20220323100948687

    • 停止net stop mysql80

      image-20220323101041767

  2. 通过“服务”界面

    • 右击“此电脑”->“计算机管理”->“服务和应用程序”->“服务”,找到“MySQL80”

    • 右击“MySQL80”,可以选择“启动”、“停止”、“重新启动”等。

      image-20220323101628728

3. 初步了解MySQL的安全性

这里主要是用户的登录和服务器预定义角色。可以尝试建立一个新的用户,赋予其数据库管理员的角色,今后的实验可以用该用户来创建数据库应用。

  • 在安装MySQL时,默认创建了一个root用户作为数据库的管理者。

    • 登录:mysql -u root -p,输入密码。

      image-20220323102758220

  • 在MySQL中建立新用户:

    1
    CREATE USER 'newuser'@'hostname' IDENTIFIED BY 'user_password';

    例:创建一个密码为wyh123456的mysql用户wyhhostname=localhost表示该用户只能从localhost即运行MySQL Server的系统连接到MySQL服务器。

    1
    CREATE USER 'wyh'@'localhost' IDENTIFIED BY 'wyh123456';

    image-20220323102832861

  • 授权用户可以操作的数据库和表:

    1
    2
    3
    4
    #授权
    grant '权限' on '数据库名.表名' to '用户名'@'主机名' with grant option;
    #刷新权限
    flush privileges;

    例:授予用户wyh 操作数据库db3所有表的所有权限。

    1
    2
    grant all privileges on db3.* to 'wyh'@'localhost' with grant option;
    flush privileges;

    image-20220323103754893

  • 查看所有用户:

    1
    SELECT user,host FROM mysql.user;

    image-20220323104253917

  • 查看用户wyh的权限:

    1
    show grants for 'wyh'@'localhost';

    image-20220323104435891

  • 收回权限:

    1
    REVOKE '权限' ON '数据库名.表名' FROM '用户名'@'主机名';

    例:收回用户wyh 操作数据库db3所有表的所有权限。

    1
    REVOKE all privileges ON db3.* FROM 'wyh'@'localhost';

    image-20220323105508974

  • 删除用户:

    1
    DROP USER `用户名`@`主机名`;

    例:删除主机localhost用户wyh

    1
    DROP USER `wyh`@`localhost`;

    image-20220323105844878

2 数据库系统的构架

了解数据库系统的逻辑组件:

它们主要是数据库对象,包括基本表、视图、触发器、存储过程、约束等。今后将学习如何操作这些数据库对象。

  • 基本表是实际存在的表,它是实际存储数据的逻辑表示
  • 视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
  • 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。
  • 存储过程是一组为了完成特定功能的SQL语句集。
  • 约束实际上就是表中数据的限制条件。

了解数据库的物理组件:

思考数据库物理存储的存储单位是什么,数据主要以什么方式存放,如何确定数据的存放位置。

  • 在数据库中,是数据物理存储的最主要、最基本的单位。

  • 数据主要以块的方式存放在磁盘。

  • mysql通过以下命令:

    1
    show variables like 'datadir'

    确定数据的存放位置。

    image-20220324210249301

3 MySQL的管理和使用

​ 了解MySQL如何通过Navicat对数据和数据库服务器进行管理和使用的。

连接MySQL

  • 点击“连接”-“MySQL”:

    image-20220324211040249

  • 输入信息,点击“确定”:

    image-20220324211202615

  • 连接创建完成:

    image-20220324211259701

数据迁移工具

  • 跨数据库迁移:

    • 点击“工具”-“数据传输”:

      image-20220324211618308

    • 选择要传输的数据库对象:

      image-20220324211656010

    • 点击开始,传输结果如下:

      image-20220324211732530

  • 导出数据

    • 右击需要导出的数据表,点击“导出向导”:

      image-20220324211941676

    • 选择导出格式:

      image-20220324212216445

    • 选择要导出的文件:

      image-20220324212247255

    • 选择要导出的字段:

      image-20220324212308726

    • 定义”附加选项“:

      image-20220324212333245

    • 开始导出:

      image-20220324212559725

    • 导出结果:

      • person.xls:

        image-20220324214407036

      • user.xls:

        image-20220324215122090

  • 导入数据:

    • 右击”表“,点击“导入向导”:

      image-20220324215708714

    • 选择需要导入的数据格式:

      image-20220324215855668

    • 选择数据源:

      image-20220324220007188

    • 选择附加选项:

      image-20220324220043156

    • 选择目标表:

      image-20220324220124726

    • 调整表结构:

      image-20220324220208772

    • 选择导入模式:

      image-20220324220305549

    • 开始导入:

      image-20220324220506211

    • 导入结果如下:

      image-20220324220625601

对数据库服务器进行管理

  • ”工具“-”服务器监控“-“MySQL”,可以查看:

    • 服务器进程列表:可以进行”结束进程“

      image-20220324221050959

      image-20220324221131147

    • 服务器变量:

      image-20220324221206114

    • 服务器状态:

      image-20220324221226090

查询构建

通过”查询构建工具“得到SQL语句

image-20220324221824377

实验心得

通过此次实验,我成功安装并启动了MySQL,以搭建今后实验的平台,了解了DBMS的工作原理和系统构架,为完成今后的数据库实验打下了坚实的基础。

  • 这个过程中遇到的一个问题是:直接打开“命令提示符”去启动MySQL服务时会报错如下:

    image-20220330151436516

    • 这是因为使用net start命令需要管理员权限。故需要在“管理员权限”的命令行中启动MySQL。

此外,在本次实验中,我还学会通过MySQL的图形化界面工具Navicat来更好地管理和使用MySQL。


本博客所有文章除特别声明外,均为博客作者本人编写整理,转载请联系作者!