【scau数据库实验一】mysql_navicat_数据库定义实验、基本命令

实验一开始之前,如果还有不会使用navicat建议花五分钟补课哦~

补课地址:【scau数据库实验先导】mysql_navicat_数据库新建、navicat的使用-CSDN博客

实验目的:

理解和掌握数据库DDL语言,能够熟练地使用SQL DDL语句创建、修改和删除数据库、模式和基本表。

实验报告要求:

实验报告中简单描述实验步骤,详细写明建库及建表的代码,并以截图的形式显示操作是否成功。

实验内容:

一、采用SQL语言建立EMPLOYEE1数据库。

运行均成功(OK)以后,重新双击打开表那一栏

可以看见,新建成功的表

CREATE TABLE company (  
    company_name VARCHAR(30) NOT NULL,  
    city VARCHAR(20) NOT NULL,  
    PRIMARY KEY (company_name)  
);  
  
CREATE TABLE employee (  
    employee_ID INT NOT NULL,  
    employee_name VARCHAR(20) NOT NULL,  
    street VARCHAR(20) NOT NULL,  
    city VARCHAR(20) NOT NULL,  
    PRIMARY KEY (employee_ID)  
);  
  
CREATE TABLE manages (  
    employee_ID INT NOT NULL,  
    manager_ID INT NOT NULL,
    PRIMARY KEY (employee_ID),  
    FOREIGN KEY (employee_ID) REFERENCES employee(employee_ID) ON DELETE CASCADE,  
    FOREIGN KEY (manager_ID) REFERENCES employee(employee_ID) ON DELETE RESTRICT
);  
  
CREATE TABLE works (  
    employee_ID INT NOT NULL,  
    company_name VARCHAR(30) NOT NULL,
    salary NUMERIC(8,2) CHECK (salary > 3000),  
    PRIMARY KEY (employee_ID),  
    FOREIGN KEY (employee_ID) REFERENCES employee(employee_ID) ON DELETE CASCADE,  
    FOREIGN KEY (company_name) REFERENCES company(company_name) ON DELETE CASCADE
);

二、采用可视化工具(例如:Navicate)创建上述数据库,命名为EMPLOYEE2

为节省时间,这里仅作操作示例,余下的同学们自行完成

设计表完成并保存后,重新双击‘表’,会出现新建的表了

三、修改、删除基本表(注意:完成每个操作后请用DESC操作查看表结构)

1)向基本表employee 中增加“性别”属性列,其属性名为sex,数据类型为字符型。

解题步骤:

①选中employee2右键新建查询,输入:

        ALTER TABLE employee ADD sex VARCHAR(20);

②将此查询保存并命名为sex。

2)向基本表employee中增加“年龄”属性列,其属性名为age,数据类型为

SMALLINT, 并且年龄在1530之间。

解题步骤:

①选中employee2右键新建查询,输入:

        ALTER TABLE employee ADD age SMALLINT CONSTRAINT numcons CHECK (age BETWEEN 15 AND 30);

②将此查询保存并命名为age_add。

(3)将employee中的age年龄的数据类型改为INT型。

解题步骤:

①选中employee2右键新建查询,输入:

        alter  table  employee  MODIFY COLUMN age INT CONSTRAINT numcons2 CHECK (age BETWEEN 15 AND 30)

②将此查询保存并命名为age_change_type。

(4)将employee中的age字段改名为emp_age

解题步骤:

①选中employee2右键查询,输入:

        ALTER TABLE employee Drop Constraint numcons;
        ALTER TABLE employee CHANGE age emp_age INT;
        ALTER TABLE employee ADD CONSTRAINT numcons CHECK (emp_age BETWEEN 15 AND 30);

②将此查询保存并命名为emp_age。

(5)将employee中的sex列允许为空值的属性更改为不允许为空值。

解题步骤:

①选中employee2右键查询,输入:

        ALTER TABLE employee MODIFY COLUMN sex VARCHAR(20) NOT NULL;

②将此查询保存并命名为sex_notnull。

(6)向company表中增加id字段,并添加自增约束。

解题步骤:

①选中employee2右键查询,输入:

        ALTER TABLE works DROP FOREIGN KEY works_ibfk_2;

        ALTER TABLE company DROP PRIMARY KEY;

        ALTER TABLE company ADD id INT NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;

②将此查询保存并命名为id_add。

(7)删除employee表中的sex列。

解题步骤:

①选中employee2右键查询,输入:

        ALTER TABLE employee DROP sex;

②将此查询保存并命名为sex_delete。

(8)删除employee表。思考:由于主键、外键的约束,如何才能对employee表执行删除操作。

解题步骤:

①选中数据库employee2后右键查询,需要先取消其他表中的关联再删除表。输入:

        ALTER TABLE manages DROP FOREIGN KEY manages_ibfk_1;

        ALTER TABLE manages DROP FOREIGN KEY manages_ibfk_2;

        ALTER TABLE works DROP FOREIGN KEY works_ibfk_1;

        ALTER TABLE employee DROP PRIMARY KEY;

        DROP TABLE employee;

②将此查询保存并命名为drop_employee。

(9)向manages表中的manager_ID字段上添加not null约束,观察结果,并说明原因。

解题步骤:

①选中employee2右键查询,输入:

        ALTER TABLE manages MODIFY manager_ID INT NOT NULL;

②将此查询保存并命名为manager_ID_add。

思考题:

(1)在定义有外码约束的基本表时,必须先定义主表,不能颠倒次序,否则容易出错。请截图解释说明。

        外键的作用是保持数据一致性,完整性,主要目的是控制存储在外键表中的数据,使两张表形成关联。给表中添加外键时,需要选择该属性是从其他哪些参考表中的属性连接而来的,因此需要先定义主表,否则从表中的属性无法通过主表定义。

(2)如果在创建关系数据库基本表时,未创建完整性约束条件,对于数据库会有何影响?请截图解释说明。

        会导致整个数据库出现严重错误,如数据缺失,数据溢出等漏洞。

(3)在定义外码约束时,如果主表主码的数据类型与从表外码的数据类型不一致,以哪一个为准?

        以主表主码为准。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/675926.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mac电脑用谷歌浏览器对安卓手机H5页面进行inspect

1、mac上在谷歌浏览器上输入 chrome://inspect 并打开该页面。 2、连接安卓手机到Mac电脑:使用USB数据线将安卓手机连接到Mac电脑。 3、手机上打开要的h5页面 Webview下面选择要的页面,点击inspect,就能像谷歌浏览器页面打开下面的页面&#…

Vue——初识组件

文章目录 前言页面的构成何为组件编写组件组件嵌套注册 效果展示 前言 在官方文档中,对组件的知识点做了一个很全面的说明。本篇博客主要写一个自己的案例讲解。 vue 官方文档 组件基础 页面的构成 说到组件之前,先大致说明下vue中页面的构成要素。 在…

Claude 3可使用第三方API,实现业务流程自动化

5月31日,著名大模型平台Anthropic宣布,Claude3模型可以使用第三方API和工具。 这也就是说,用户通过文本提问的方式就能让Claude自动执行多种任务,例如,从发票中自动提取姓名、日期、金额等,该功能对于开发…

【问题随记】System policy prevents Wi-Fi scans,解决连接 WIFI 需要权限的问题

问题随记 System policy prevents Wi-Fi scans,每次打开我的开发板连接 wifi 都会出现下面的弹窗,这也阻挡了我的WIFI自动连接,然后就需要连上屏幕,输入 wifi 密码,这样才能进行 VNC、SSH 等一系列的连接。 问题解决 …

『 Linux 』缓冲区(万字)

文章目录 🦦 什么是缓冲区🦦 格式化输入/输出🦦 刷新策略🪶 块缓冲(fully buffered)🪶 无缓冲(unbuffered)🪶 行缓冲(line buffered) 🦦 现象解释🦦 exit()与_exit()🦦 进…

CPU 使用率过高问题排查

文章目录 CPU 使用率过高问题排查1. CPU使用率过高常见问题2. 压力测试2.1 stress安装参数说明测试示例 2.2 stress-ng安装参数说明测试示例 3. 问题排查3.1 使用 top 命令3.2 使用 ps 命令3.3 使用 perf top3.4 vmstat 命令常用信息内存信息磁盘信息 CPU 使用率过高问题排查 …

Plotting World Map in Python

1. 方法一 pygal Plotting World Map Using Pygal in Python import pygal # create a world map worldmap pygal.maps.world.SupranationalWorld() # set the title of map worldmap.title Continents# adding the continents worldmap.add(Africa, [(africa)]) worl…

【微信小程序】小锦哥小程序工具 v2.3.8.0

# 简介 小锦哥小程序工具是一款可以对微信小程序进行解密或者反编译的工具,通过这款工具,可以对别人已经发布的小程序进行解密或者是反编译,然后查看源代码。对于网络安全人员来说,可以使用该工具进行安全审计,发现其…

四川汇聚荣聚荣科技有限公司评价怎么样?

四川汇聚荣聚荣科技有限公司评价如何?在科技日新月异的今天,四川汇聚荣聚荣科技有限公司作为业界的一员,其表现自然引起了广泛关注。那么,这家公司究竟如何呢?接下来,我们将从四个不同方面对其进行深入剖析。 一、技术实力 四川…

3DGS语义分割之LangSplat

LangSplat是CVPR2024的paper. 实现3DGS的语义分割(可文本检索语义) github: https://github.com/minghanqin/LangSplat?tabreadme-ov-file 主要思想是在3DGS中加入了CLIP的降维语义特征,可用文本检索目标,实现分割。 配置环境&…

三十四、openlayers官网示例Dynamic clusters解析——动态的聚合图层

官网demo地址: https://openlayers.org/en/latest/examples/clusters-dynamic.html 这篇绘制了多个聚合图层。 先初始化地图 ,设置了地图视角的边界extent,限制了地图缩放的范围 initMap() {const raster new TileLayer({source: new XYZ…

导入和使用标准模块

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中,自带了很多实用的模块,称为标准模块(也可以称为标准库),对于标准模块&#xf…

韩顺平0基础学java——第15天

p303-326 重写override 和重载做个对比 注:但子类可以扩大范围,比如父类是protected,子类可以是public 多态 方法或对象具有多种形态,是面向对象的第三大特征,多态是建立在封装和继承基础之上的。 多态的具体体现…

Ubuntu server 24 (Linux) 安装部署smartdns 搭建智能DNS服务器

SmartDNS是推荐本地运行的DNS服务器,SmartDNS接受本地客户端的DNS查询请求,从多个上游DNS服务器获取DNS查询结果,并将访问速度最快的结果返回给客户端,提高网络访问速度和准确性。 支持指定域名IP地址,达到禁止过滤的效…

【YOLOv5/v7改进系列】引入ODConv——即插即用的卷积块

一、导言 提出了一种称为全维度动态卷积(ODConv)的新颖设计,旨在克服当前动态卷积方法的局限性并提升卷积神经网络(CNN)的性能。以下是该论文提出的全维度动态卷积设计的优点和存在的缺点分析: 优点: 增强特征学习能力: ODConv通…

第十五届蓝桥杯物联网试题(省赛)

这个省赛题不算难,中规中矩,记得看清A板B板,还有ADC的获取要配合定时器

如何查看本地sql server数据库的ip地址

程序连线SQL数据库,需要SQL Server实例的名称或网络地址。 1.查询语句 DECLARE ipAddress VARCHAR(100) SELECT ipAddress local_net_address FROM sys.dm_exec_connections WHERE SESSION_ID SPID SELECT ipAddress As [IP Address]SELECT CONNECTIONPROPERTY(…

p10,idea开发工具

1 什么是ide 有编写,编译,运行三个功能合一的集成开发工具。

创建模拟器

修改模拟器默认路径 由于模拟器文件比较大,默认路径在C:\Users\用户名.android\avd,可修改默认路径 创建修改后的路径文件 D:\A-software\Android\AVD添加系统变量ANDROID_SDK_HOME:D:\A-software\Android\AVD重启Android Studio 创建模拟…

云端数据提取:安全、高效地利用无限资源

在当今的大数据时代,企业和组织越来越依赖于云平台存储和处理海量数据。然而,随着数据的指数级增长,数据的安全性和高效的数据处理成为了企业最为关心的议题之一。本文将探讨云端数据安全的重要性,并提出一套既高效又安全的数据提…