计网----数据库(一)

计网----数据库(一)

一.什么是数据库

数据库是”按照数据结构来组织、存储和管理数据的仓库“。是一个长期储存在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

二.数据库的特点

1.规范化的本地存储

2.加密

3.共享

三.数据库的好处

方便管理查找,查询数据快

四.数据库的分类

1.关系型数据库:其实就是二维表,典型代表mysql,oracle,SQL Server

如图

在这里插入图片描述

2.非关系型数据库:也叫NoSql,是一维映射key-value 典型代表redis,MongoDB

如图

在这里插入图片描述

五.数据库范式

1.什么是范式

要想设计一个好的关系,必须使关系满足一定的约束条件,此约束已经形成了规范,按照这种规范可以使设计简洁的、结构明晰,不会因为插入删除,更新数据导致异常

2.常见名词

属性->特征->表中的一列->字段

元组:表的一行就叫一个元组

码:表中唯一确定一个元组的属性,码不止一个,叫这些为候选码

主码:从候选码挑选出来一个主要确定这一行的属性

主属性:只要在任何一个候选码中出现过,这个属性就叫主属性

非主属性:没有在任何一个候选码中出现过

3.第一范式(1NF)属性不可分

下图符合第一范式

在这里插入图片描述

下图不符合第一范式

在这里插入图片描述

4.第二范式(2NF)不存在组合关键字中的某些字段决定非关键字段(组合关键字不可拆)

1.看下面的图判断是否符合第二范式

在这里插入图片描述

非主键列全部依赖于主键,符合第二范式

在这里插入图片描述

非主键列全部依赖于部分主键,不符合第二范式

在这里插入图片描述

非主键列部分依赖于主键,不符合第二范式

在这里插入图片描述

非主键列部分依赖于部分主键,不符合第二范式

1.解决不符合第二范式的表
初始表如下

选课课表为(学号,姓名,年龄,课程名称,成绩,学分)

先挑选出来主属性,这里的主属性是学号和课程名称,(学号,课程名)->(姓名,年龄,成绩,学分)

但是此时的姓名,年龄只由学号决定,学分只由课程名称决定,所以不符合第二范式,我们要进行修改

修改之后变为

学生:学号,姓名,年龄

课程:课程名称,学分

选课:学号,课程名称,成绩

2.不符合第二范式会出现的问题

1.数据冗余

2.更新异常

3.插入异常

5.第三范式(3NF)不存在依赖传递(关键字段 --> 非关键字段x --> 非关键字段y)

1.解决不符合第三范式的表
初始表如下

学生的关系表:(学号,姓名,年龄,所在学院,学院地点,学院电话)

先挑选出来主属性,这里的主属性是学号,(学号)->(姓名,年龄,所在学院,学院地点,学院电话)

但是知道学号就知道了所在学院,知道了所在学院就知道了学院地点,学院电话,这里存在依赖传递,所以不符合第三范式,我们要进行修改

修改之后变为

学生单独一个表(包括学院),学院单独一个表

6.BCNF(鲍依斯-科得范式):不存在关键字段决定关键字段

1.解决不符合鲍依斯-科得范式的表
初始表如下

仓库管理系统(仓库ID,存储物品ID,管理员ID,数量)

先挑选出来主属性,这里的主属性是仓库ID,管理员ID和存储物品ID

(仓库ID,存储物品ID)->(管理员ID,数量)

(管理员ID,存储物品ID)->(仓库ID,数量)

其中有两个主属性相互决定,所以不符合鲍依斯-科得范式

修改之后变为

仓库管理:仓库ID,管理员ID

仓库:仓库ID,存储物品ID,数量

六.学习mysql数据库

1.了解mysql相关知识

1.看第一张图进行了解

在这里插入图片描述

这里mysql是数据库(服务端)

这里mysql-workbench是客户端,用来登录到mysql(服务端)上,然后往数据库里写入数据

2.看第二张图进行了解

在这里插入图片描述

这里的root用户是权限最大的,也可以通过它来创建其他用户

3.看第三张图进行了解

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=C%3A%5CUsers%5C%E5%86%89%E5%96%9C%E6%96%87%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-2023110在这里插入图片描述

4.看第四张图进行了解

在这里插入图片描述

5.看第五张图进行了解

在这里插入图片描述

6.看第六张图进行了解

在这里插入图片描述

2.学习mysql数据库中的sql语句(一)

1.创建一个写sql语句的文件

在这里插入图片描述

2.创建一个数据库

1.在此界面中右键,选择Create Schema

在这里插入图片描述

2.写数据库的名字,然后点击apply

在这里插入图片描述

3.到此页面继续点击apply

在这里插入图片描述

3.在写sql语句的文件里进行学习sql语句
1.写入sql语句的文件中时一些基本知识
#注释
#sql语句以分号为结束标志
#命名规则:数据库一般不区分大小写,一般用小写,最好不用用特殊字符#表名:t_xxx
#列名:f_xxx
2.创建表的sql语句
#指定默认库
use rxwku;#创建表的格式为:creat table 表名(列名 数据类型 建表约束);
#建表约束
#主键:primary key,值唯一,不 允许为空,每张表只能有一列是主键列
#唯一:unique,值唯一,但是可以为空,每张表可以有多个唯一列
#非空:not null,不能为空
#默认值:default
#自增:auto_increment
#外键约束:当前表的某一列和其他表有关系create table studentinfo(
number int primary key auto_increment,
name varchar(10) not null,
#在数据库里单引号和双引号都能表示字符串,可以双引号里套单引号或者单引号套双引号,最多只能套一层
sex enum('男','女'),
age int default 18
);
#注意创建完之后需要手动刷新一下才能在schemas中看到
3.mysql中的数据类型
#数据类型:int,char()/varchar()/nvarchar(),enum
#char()/varchar()/nvarchar()的区别
#char(45):字符串长度为45,如果存"hello",实际上存的是"hello00000.....",长度固定,如果不足长度用用0补齐
#varchar(45):字符串长度最大为45,如果存"hello",实际上存的是"hello",这里的45是固定的最大长度,长度不足就按照实际长度存储
#nvarchar(45):字符串长度最大为45,如果存"hello",实际上存的是"hello",这里的45是固定的最大长度,这里的字符按照宽字节存储,也就是一个字符占2个字节#数据库最大可以存储8千个字节,nvarchar只能存4千个字符,varchar可以存8千个字符
4.删除和修改表的sql语句
#删除表 drop table 表名
drop table studentinfo;#修改表:alter table 表名...
#1.增加一列:alter table 表名 add column 列名 数据结构 建表约束;
alter table studentinfo add column school int;#2.修改列的属性:alter table 表名 modify 列名 数据结构 建表约束;
alter table studentinfo modify school varchar(45);#3.删除一列:alter table 表名 drop column 列名;
alter table studentinfo drop column school;
5.查询表的sql语句
#查询:select* from 表名; 查询某个表的所有列
select* from studentinfo;
#查询某几列:
select number, name from studentinfo;
#给查询的列起别名 (并没有修改表中的列名 )
#select number 学号,name 姓名 from studentinfo;
6.给表中插入数据的sql语句
#插入所有列的数据: insert into 表名 values (值1,值2,...);(要求数据的顺序和表中列的顺序一致)
insert into studentinfo values (1,'张三','男',20);
#插入指定列: insert into 表名 (列名1,列名2,...) values (值1,值2,...); (值的顺序和指定列的顺序一致)
insert into studentinfo (name,sex) values('李四','男');
insert into studentinfo (sex,name) values('女','小芳');
insert into studentinfo (name) values('王五');
7.删除表中数据的sql语句
#删除数据:delete from 表名 where 条件;
#删除王五同学的数据
delete from studentinfo where name="王五";

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时间序列预测:深度学习、机器学习、融合模型、创新模型实战案例(附代码+数据集+原理介绍)

本文介绍->给大家推荐一下我的时间序列预测实战专栏,本专栏平均质量分98分,而且本专栏目前免费阅读。其中涉及机器学习、深度学习、融合模型、个人创新模型、数据分析等一系列有关时间序列的内容,其中的实战案例不仅有简单的模型类似于机器…

【面经】如何查看服务器内存和磁盘空间占用

查看服务器内存占用 free -g查看服务器磁盘空间占用 df -h

精进·第1篇:分享一个3年战略规划框架思路

首发:麦子禾咨询 作者:石头 正如解决问题的思路不止一个,做战略规划的思路、框架、模型,石头认为,肯定也不止华为类的业务领先模型BLM、业务战略执行力模型BEM、从战略规划到战略执行DSTE流程,以及轻量级…

Halcon WPF 开发学习笔记(0):开篇介绍

文章目录 文章专栏Halcon是什么?安装教学视频链接简单来说 Halcon快速开发环境确认新建项目 文章专栏 Halcon开发 Halcon是什么? 史上最全VisionPro和Halcon 的详细对比 Halcon简述 Halcon基础大全(基础算子、高阶算子、数组、分割、字符检测…

【算法与数据结构】17、LeetCode电话号码的字母组合

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题需要解决的问题有三个: 一、如何实现数字到字母的映射二、如何实现组合问题三、如何解…

Python进阶该怎么学?有什么书推荐吗?

给大家再分享一下整理出来的Python进阶以及Python实践操作可以参考学习的堪称经典的书籍,同样是豆瓣高分榜!内容有点长,一定要耐心看完。 Python进阶学习书籍 Effective Python:编写高质量Python代码的90个有效方法(…

Read-Easy Excel源码解析(一)

Read&Write-Easy Excel 当我们需要导入大Excel时候,用POI会内存溢出,这时候我们用EasyExcel来解决,它底层采用的是SAX(Simple Api for Xml)事件驱动,解析xml的方式来解析excel文件。 首先我们看他的re…

畜牧业RFID电子耳标读卡器品牌选哪个好?怎么选?

在畜牧业中,RFID电子耳标读卡器是一个非常重要的设备,它可以帮助养殖户追踪和管理动物,进行牲畜的身份识别、盘点计数、自动饲喂、防疫分栏管理、出入栏管理、智能称重等操作,提高生产效率和减少损失。 近年来,随着国…

antd Form 校验自定义复杂判断-validator

antd Form 校验 加入自定义复杂逻辑 <Form.Itemlabel"编码"name"code"rules{[{required: true,validator: (_rule, value) > {if (value ) {return Promise.reject(请输入编码);}return IsExist(value).then((res) > {if (res?.statusCode 20…

广域网加速的作用:企业为什么需要广域网加速?

由于局域网与广域网之间巨大的带宽鸿沟&#xff0c;通过增加带宽来满足膨胀的流量需求是不切实际的。 并且广域网带宽成本较高&#xff0c;增加广域网带宽对任何企业都意味着巨大的成本负担。这些使得控制 管理广域网带宽使用成为必需。 企业为什么要加速广域网? 对重要的企…

在Windows 10上安装单机版的hadoop-3.3.5

1、Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以不需要了解分布式底层细节的情况下&#xff0c;开发分布式程序。充分利用集群进行高速运算和存储。 2、下载Hadoop&#xff0c;我们在清华大学的镜像站下载 Index of /apache/hadoop/core/hadoop-3.3.6 (t…

【字符串】【双指针翻转字符串+快慢指针】Leetcode 151 反转字符串中单词【好】

【字符串】【双指针翻转字符串快慢指针】Leetcode 151 反转字符串中单词 解法1 双指针翻转字符串快慢指针更新数组大小 ---------------&#x1f388;&#x1f388;题目链接&#x1f388;&#x1f388;------------------- ---------------&#x1f388;&#x1f388;解答链接…

求臻人故事 | 年轻的求臻人,厉害了

在这个快节奏的社会中&#xff0c;我们时常忽略了身边的“小人物”&#xff0c;他们或许默默无闻&#xff0c;或许平凡无奇&#xff0c;但他们的经历、奋斗和成就&#xff0c;却能给我们带来深深的启示。让我们一起走进每个平凡的求臻人世界&#xff0c;聆听他们的“大故事”&a…

使用 AIGC ,ChatGPT 快速合并Excel工作薄

职场数据处理&#xff0c;数据分析汇报与统计的过程中&#xff0c;经常会遇到这样的一个问题那就是需要统计的数据源在多个文件中&#xff0c;多个工作薄中&#xff0c;如果要进行数据处理&#xff0c;汇总的时候会很不方便 例如&#xff1a; 如果要汇总6个月的数据可能就得需…

clang插件对llvm源码插桩,分析函数调用日志(2)--google镜像

tick_plot__compile.ipynb clang插件对llvm源码插桩&#xff0c;分析函数调用日志(1) 分析 进出、链、出 df进出df[ df[tickKind].isin( [FuncEnter,FuncReturn] ) ]#代码中&#xff0c;只有在函数进入时&#xff0c;计算了链条长度 并写磁盘 df入df[ df[tickKind].isin…

SQL SERVER Inregration Services-OLE DB、Oracle和ODBC操作

OLE DB链接器 OLE DB插件下载&#xff1a;https://learn.microsoft.com/zh-cn/sql/connect/oledb/download-oledb-driver-for-sql-server?viewsql-server-ver16 配置OLE DB Connection Manager 在点击“新建”时&#xff0c;会弹出警告信息“不支持指定的提供程序&#xff0…

网页制作-引入icon

1.如何引入icon 1.1 进入https://www.iconfont.cn/ 1.2 登录或者注册一下 1.3 在搜索框输入你想搜索的内容 1.4 加入购物车 1.5 在购物车中点击下载代码 1.6 若是普通的html项目&#xff0c;则至需要将如下两个拷贝到你的项目中 1.7 在你需要的网页中引入iconfont.css就可以使…

程序设计:控制台输出二叉树 二叉树的形象显示

本文指导你编写一个输出到字符控制台的形象的二叉树展示。 目录 一般的Tree显示方式 理想的显示方式 实现方法 计算显示位置 输出数据 计算显示位置的代码 输出数据的代码 一般的Tree显示方式 编写二叉树算法时调试是很头疼的&#xff0c;如何显示成一目了然的树结构呢…

WordPress主题 JustNews主题6.0.1(亲测首页不空白)

介绍 资源入口 需要用WordPress5.X版本 JustNews介绍&#xff1a;一款专为博客、自媒体、资讯类的网站设计开发的WordPress主题&#xff0c;自v3.0版开始支持自主研发的前端用户中心&#xff0c;不仅支持注册、登录、账户设置、个人中心等常用页面的添加&#xff0c;还可以上传…

将一个Series序列保存为列表格式Series.to_list()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将Series中的所有值 保存为列表 series.to_list() [太阳]选择题 关于以下代码的说法中正确的是? import pandas as pd s pd.Series([1,2]) print("【显示】s") print(s) print(【执…