数据库基本操作和知识
来源:互联网 发布:高中生书包 知乎 编辑:程序博客网 时间:2024/05/20 02:25
一、数据库基本操作 1、开启mysql服务命令 net start mysql 2、进入mysql的两种方式 明文进入:mysql -uroot -proot 格式:mysql -u帐号 -p密码 密文进入:mysql -uroot -p 按enter会提示你输入密码(Enter pssword:),此时你写的密码就会显示为***这样。 3、查看mysql中所有的数据库(一般在固定的单词命令就会是用大写,这个要习惯,看多了敲多了就认识了) 前面四个数据库是mysql中自带的,也就是必须的. SHOW DATABASES; 4、创建名为test_1的数据库 格式:CREATE DATABASE 数据库名 CREATE DATABASE test_1; 5、删除名为test_1的数据库 格式:DROP DATABASE 数据库名 DROP DATABASE test_1;二、数据库表的基本操作
1.创建表结构
CREATE TABLE Employee (Eno CHAR(4) NOT NULL UNIQUE, Ename CHAR(8)NOT NULL, Sex CHAR(2) NOT NULL , Age INT NULL, Is_Marry CHAR(1) NULL, Title CHAR(6) NULL,
2.添加列 ALTER TABLE Employee ADD Emgr CHAR(4) NULL; 3.修改列的数据类型 ALTER TABLE Employee CHANGE Emgr Emgr CHAR(12); ALTER TABLE Employee MODIFY Emgr CHAR(12); 注:mysql中alter语句中change和modify的区别: Change :对列进行重命名或更改列的类型,需给定旧的列名称和新的列名称、当前的类型; modify :可以改变列的类型,此时不需要重命名(不需给定新的列名称)。 4.删除列 ALTER TABLE Employee DROP COLUMN Emgr; 5.增加某列必须取唯一值的约束条件 ALTER TABLE Employee ADD CONSTRAINT UQ_name UNIQUE(Ename);//用户为该唯一值约束设定约束名 ALTER TABLE Employee ADD UNIQUE(Ename);//系统自动命名三、细节 1.一个表或者视图只允许有一个聚簇索引(CLUSTERED),建立聚簇索引后,表在磁盘中的物理存储顺序将与聚簇索引中的一致。 在最常查询的列上建立聚簇索引可以加快查询速度;在经常更新的列上建立聚簇索引,则DBMS维护所以代价太大。四、关系数据库规范化理论 1.未规范的问题 1.1 数据冗余度大 1.2 修改异常 冗余度大,不仅兰妃存储空间,在对数据进行修改时,易造成数据的不一致性。如当某个表中的工资变化时,满足某个条件的人的工资都需要修改,一旦遗漏就会使数据不一致,产生修改异常。 1.3 插入异常 无法插入某部分信息的插入异常。因为码为空的情况下无法插入相应的数据 1.4 删除异常 删除掉不应删除的信息为删除异常。在删除某个信息时连带其他信息被删除。 2. 函数依赖 2.1 函数依赖是指在关系R中,X、Y为R的两个属性或属性组,如果对于R的所有关系r都存在:对于X的每一个具体值,Y都只有一个具体值与之对应。 则称属性Y函数依赖于属性X。或者说属性X函数决定属性Y,记做X->Y 2.2 联系中存在的依赖 1)如果两属性集X、Y是一对一联系,则存在函数依赖 X<-->Y 2) 如果两属性集X、Y是多对一联系,则存在函数依赖 X-->Y 3)如果两属性集X、Y是多对多联系,则不存在函数依赖 4)假设两属性集X、Y间 X-->Y成立,如果Y属于X,则称X-->Y是平凡函数依赖,反之是非平凡函数依赖。 3. 关系模式的规范化 当一个关系中的所有分量都是不可分的数据项时,该关系是规范化的。 注:规范化程度较高者必定是较低者的子集。 1)部分函数依赖与完全函数依赖: 设X、Y是关系R的两个不同的属性或属性组,且X-->Y。如果存在X的某一个真子集X1,使得X1-->Y,则称Y部分函数依赖于X 反正则为完全函数依赖。 2)传递依赖: 在关系R中,如果X、Y、Z是R中的三个不同的属性或属性组,如果X-->Y,Y-->Z,但Y-/->X,且Y不是X的子集,则称Z传递依赖于X 3.1 范式的种类: 1NF,2NF,3NF(BCNF),4NF,5NF 3.2 第一范式(1NF) 定义:如果关系模式R中不包含多值属性,则R满足第一范式 存在问题:存在部分函数依赖不是2NF,存在传递函数依赖不是3NF 3.3 第二范式 如果一个关系R属于1NF,且它的所有非主属性都完全依赖于R的任意候选码,则R属于第二范式。 即:第二范式中不存在部分函数依赖 推论:如果关系模式是第一范式,且它的每一个候选码都是单码,则这个关系模式是第二范式。 3.4 第三范式 如果关系模式R属于第二范式,且它的每一个非主属性都不传递依赖于任何候选码,则称R是第三范式。 推论1:如果关系模式属于第一范式,且它的每一个非主属性既不部分依赖、也不传递依赖于任何候选码,则该模式属于第三范式。 推论2:不存在非主属性的关系模式一定为第三范式。 3.5 改进的第三范式:BCNF 定义:设关系模式是第一范式,若F的任一函数依赖X-->Y(且Y不属于X)中X都包含了R的一个码,则称R是BCNF范式。 推论: 1)R中所有非主属性对每一个码都是完全函数依赖 2)R中所有主属性对每一个不包含它的码,都是完全函数依赖 3)R中没有任何属性完全函数依赖于非码的人格一组属性 定理:如果R是BCNF范式,则R一定是第三范式 3NF比BCNF放宽了一个限制,即允许因素不包含码。
如有错误,还请指正哦~
阅读全文
0 0
- 数据库基本操作和知识
- ps的基本操作和知识
- Android数据库知识和操作笔记
- linux基本操作知识
- Mysql基本操作知识
- 数据库基本类型知识
- postgres数据库安装和基本操作(转载)
- mysql基础指令和数据库基本操作
- JDBC连接数据库和基本操作
- 03-数据库和数据表的基本操作
- MongoDB数据库安装配置和基本操作
- 数据库基本操作和JDBC编程步骤
- oracle数据库的基本操作和常识
- mongodb 3.2 知识简记-基础知识和基本操作
- 数据库操作 知识园
- 数据库操作小知识
- c语言操作mysql和数据库基本操作
- 【数据库基础】数据库完整性基本概念和基本操作
- 【云计算的1024种玩法】第1招:制作一个浪漫的表白网页
- git使用(二):git 初学解决错误
- linux 扩容逻辑,物理分区,解决数据库空间不足问题(不需要对数据库做任何操作)
- 电脑是还原好还是重装系统好
- Java集合框架学习总结
- 数据库基本操作和知识
- hibernate的查询的比较
- 模拟
- 线性代数,矩阵相关学习资源推荐
- 如何为虚拟机附加磁盘
- PM职责
- oracle一列查询结果,用,拼接成一个字符串
- java EE开发之Servlet第三课:过滤器(Filter)
- 基于java的正则表达式