MySQL数据库设计

  mysql:

   dbs  数据库系统    bdms  数据库管理系统    bda   数据库管理员    db    数据库

   dba通过dbms来操作db!

软件项目开发周期中数据库设计 01.需求分析阶段:分析客户的业务和数据处理需求 02.概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整 03.详细设计阶段:应用三大范式审核数据库结构 04.代码编写阶段:物理实现数据库,编码实现应用 05.软件测试阶段:…… 06.安装部署:……

  数据库设计步骤:

    01.收集信息     02.标识实体     03.标识每个实体的属性     04.标识实体之间的关系 E-R图:

   01.矩形   实体    02.椭圆形 属性    03.菱形   实体与实体的关系

 1 :1 :      一对一  1:N:      一对多  M:N:      多对多

必须满足  三大范式

第一范式确保每列的原子性 第二范式要求每个表只描述一件事情 第三范式要求表中各列必须和主键直接相关,不能间接相关

   sql 语句的执行 顺序

  5.查询  select    1.找表  from   2.条件  where   3.分组  group by   4.条件  having   6.排序  order by   7.分页  limit

数据库的恢复和备份

为保证账户密码安全,命令中可不写密码,但参数“-p”必须有,回车后根据提示写密码!

数据库的备份

cmd进入命令行

mysqldump -u用户名 -p 数据库名称 >指定的文件

数据库的恢复

前提是必须要有对应的数据库

 mysql -u用户名 -p <指定的文件

1. mysql为DOS命令 2.在执行该语句之前,必须在MySQL服务器中创建新数据库,如果不存在恢复数据库过程将会出错

关系型数据库和非关系型数据库

 登录mysql

  mysql  -h主机地址   -u用户名  -p密码

1.对象没有静态和动态之分。。。。。。。。有静态类。。。。

2.Java中多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载。

3.CreateNew = 1; 新建 Create = 2;

Open = 3; OpenOrCreate = 4; Truncate = 5; Append = 6;

4.在C#中类只能有两个访问修饰符,public和internal,在任何项目中都可以使用

5.静态方法中只能使用静态成员

如果想访问非静态成员,先new出当前对象,然后再用对象名.变量名,即可访问

在普通方法中既可以访问静态成员也可以访问非静态访问

java实现数据库编程 1.设计数据库的步骤  1.收集信息  2.标识实体  3.标识实体的每个属性  4.标识实体之间的关系 2.E-R图  (实体   关系    图)  1.矩形 实体  2.椭圆 属性  3.菱形 关系 3.二维表  平面(行和列,X-Y轴)。。。。。二维表的形式表示实体和实体间联系的数据模型即关系模式  行:记录  列:字段 4.如何转化数据库模型图  使用PowerDesigner 软件  物理模型:  通过blog   绘制一个概念模型  然后   转换成物理模型 5.DBMS (Database Management System) 数据库管理系统   DBS (Database System) 数据库系统 6. 第二范式在第一范式的基础上,保证表中每列与主键相关。就是每张表只描述一件事情。

第三范式:在满足第二范式基础上,保证表中除主键列外的其他列,都直接依赖于主键列,则符合第三范式

设计没有好坏,没有对错之分,所谓仁者见仁智者见智

1.MySQL的优势  1.运行速度快,  2.使用成本低,  3.可移植性强,  4.使用用户广 2.Mysql执行流程  JDBC ODBC Python Ruby 接口  语言提供的接口==》

(身份的验证/授权)Connection Pool 连接池===>sql指令:CCache缓存,如果有缓存的SQL直接返回数据 ===>SQL接口===>查询优化器(自己的优化策略)===>使用解释器解析语句===>(存储)数据库引擎拎取数据===>DB File数据文件 3.MySQL -uroot -proot login 默认状态 no database selected 所以切换到一个指定的数据库 mysql

使用命令行  看数据库的安装路径   和   数据存储路径 使用命令前:切换到MySQL数据库 数据库的安装路径 select @@basedir from dual;

数据存储路径 select @@basedir from dual;

常用数据类型  整型 int  小数 double  精确度要求高的 ———Decimal(18,4)  对应Java中的类型  BigDecimal

  字符串:nvarchar(32) varchar  char  char:定长字符串(一旦设定了长度,无论真实内容有多少,都要占用指定长度的空间)  varchar:可变字符串  nvarchar()防止乱码出现

varchar(n),nvarchar(n) 中的n怎么解释:   nvarchar(n)最多能存n个字符,不区分中英文。   varchar(n)最多能存n个字节,一个中文是两个字节。 所占空间:   nvarchar(n)一个字符会占两个字节空间。   varchar(n)中文占两字节空间,英文占一个。 n的取值范围:   nvarchar(n)?? n的范围是:1与4000之间   varchar(n)?? n的范围是:1与8000之间 n的大小是否会影响性能:   varchar及nvarchar里的长度 n 不会影响空间大小及性能。除非n是max并且内容大于4000或8000   设置n更多的是业务需要,如限制身份证只能输入18位,再多就报错,或者防止恶意攻击撑爆硬盘。对空间及性能都没有影响 n设置多大比较好:   既然对空间及性能都没有影响,那我们只要考虑业务需要就可以了,我分析过微软的数据库,大都设置为:256,也会看到64,128,512,max等,可能是便于记忆吧。

varchar(n),nvarchar(n)存储空间举例解释:   包含 n 个字符的可变长度 Unicode 字符数据。字节的存储大小是所输入字符个数的两倍。?   两字段分别有字段值:我和coffee?   那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间。?   如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar。 varchar和nvarchar如何选择?   varchar在SQL Server中是采用单字节来存储数据的,nvarchar是使用Unicode来存储数据的.中文字符存储到SQL Server中会保存为两个字节(一般采用Unicode编码),英文字符保存到数据库中,如果字段的类型为varchar,则只会占用一个字节,而如果字段的类型为nvarchar,则会占用两个字节. 3.日期类型 DateTime

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据和云计算技术

误删HBase数据如何抢救?

当误删数据发生时候,不管三七二十一,第一要务是进入hbase shell,执行如下命令:

754
来自专栏魏琼东

基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 数据层开发

对象关系映射          AgileEAS.NETORM并没有采用如NHibernate中映射文件的文件的模式,而是采用了直接硬编码的模式实现,ORM体系...

1969
来自专栏数据库新发现

关于shared pool的深入探讨(五)

http://www.eygle.com/internal/shared_pool-5.htm

792
来自专栏Java Edge

操作系统之内存管理内存管理3.1 内存管理的概念3.2 内存覆盖与内存交换3.3 内存连续分配管理方式3.4 内存非连续分配管理方式

4456
来自专栏数据和云

oracle 12.2 local temp的原理和实现

从Oracle数据库12c开始,可以将Oracle Clusterware和Oracle RAC配置在大型集群中,称为Oracle Flex集群。 这些集群包含...

2809
来自专栏维C果糖

史上最简单的 MySQL 教程(二十一)「数据的高级操作 之 蠕虫复制」

蠕虫复制:从已有的数据表中获取数据,然后将数据进行新增操作,数据成倍(以指数形式)的增加。

4147
来自专栏idba

MySQL 5.7 新特性之四

本系列文章基于5.7.20 版本讲述MySQL的新特性。从安装,文件结构,SQL ,优化 ,运维层面 复制,GITD等几个方面展开介绍5.7 的新特性和功能。同...

612
来自专栏PPV课数据科学社区

SQL Server优化50法

查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效...

3177
来自专栏Java架构师历程

Mysql面试题目

5>.InnoDB不支持全文索引,而MyISAM支持。(X) (2) 问各种不同mysql版本的2者的改进 (3)2者的索引的实现方式

943
来自专栏北京马哥教育

77%的Linux运维都不懂的内核问题

1878

扫码关注云+社区