精华内容
下载资源
问答
  • 知识点:数据库表的相关概念、创建数据库表的方法、设计数据库表、向数据库表中插入数据、建立不同数据库表之间的关系、删除数据库表。 1、数据表相关的一些概念 1.1 数据库里的数据是如何保存的? 数据库...

    知识点:数据库表的相关概念、创建数据库表的方法、设计数据库表、向数据库表中插入数据、建立不同数据库表之间的关系、删除数据库表。

     

    1、数据表相关的一些概念

     

    1.1 数据库里的数据是如何保存的?

            数据库到底是怎么存储数据的?比如要把学生信息存储到数据库里,能把学生塞进数据库吗?肯定是把学生的数据信息抽象出来,把一些重要信息以文字或数字的形式保存到数据库中去。

           具体是怎么保存的,有点类似于excel,是用一张二维表的形式来进行数据保存的。这里有两个名词需要注意,行(称之为记录),列(称之为字段)。表中一条记录表示现实中的一个实体(学生)。所以以后的重点就是围绕这个表来进行设计,设计他的列。这个就是存储数据的概念。

     

     

      展开全文
    • 自己收藏多年的全国省市县数据sql,并带有数据库表模型,直接按模型创建数据库表,sql一执行就可以拥有全国到县级别的数据源了。
    • 数据库表结构

      千次阅读 2018-08-20 16:28:54
      当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有...

      当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字段命名规范来解决优化这些问题。

      本文是一篇包含了数据库命名、数据库表命名、数据库表字段命名及SQL语言编码的规范文档,针对研发中易产生的问题和常见错误做了一个整理和修改,为日后涉及到数据库相关的研发工作做好准备。

       

       

      数据库规范化设计要求

      一、表中避免空列

      减少数据库处理记录的复杂性,

      1、空列数目少的时候,可以设置默认值。

      2、空列数目多的时候,可以设置单独一张表存储。

      二、表不应该有重复的值或列

      创建字典表

      三、唯一的标识某一条数据

      ID  

      如有必要添加 行号 进行排序显示管理

       

      四、数据库对象统一的前缀名

      t_department 

      五、尽量只存单一实体类型数据

      一个表中的字段不要太复杂 ,能分开的单独分开建表。

       

       


      数据库相关命名规范

       

      一、数据库命名规范

      采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔,一个项目一个数据库,多个项目慎用同一个数据库

       

      二、数据库表命名规范

      2.1数据表命名规范

      (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔

      (2)全部小写命名,禁止出现大写

      (3)禁止使用数据库关键字,如:name,time ,datetime,password等(user ) 不然sql语句 写成 select * from [User]

      (4)表名称不应该取得太长(一般不超过三个英文单词)

      (5)表的名称一般使用名词或者动宾短语

      (6)用单数形式表示名称,例如,使用 employee,而不是 employees

      明细表的名称为:主表的名称+字符dtl(detail缩写)

      例如:采购定单的名称为:po_order,则采购定单的明细表为:po_orderdtl 

      (7)表必须填写描述信息(使用SQL语句建表时)

       

      2.2命名规范

      ①模块_+功能点  示例:alllive_log   alllive_category

      ②功能点  示例:live   message

      ③通用表  示例:all_user

       

      2.3待优化命名示例

      ①冗余:

      错误示例:yy_alllive_video_recomment    yy_alllive_open_close_log

      说明:去除项目名,简化表名长度,去”yy_”

       

      ②相同类别表命名存在差异,管理性差

      错误示例:yy_all_live_category    yy_alllive_comment_user

      说明:去除项目名,统一命名规则,均为”yy_alllive_”开头即可

       

      ③命名格式存在差异

      错误示例:yy_showfriend    yy_user_getpoints    yy_live_program_get

      说明:去除项目名,统一命名规则,动宾短语分离动宾逻辑顺序统一

       

      三、数据库字段命名规范

      3.1字段命名规范

      (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔

      (2)全部小写命名,禁止出现大写

      (3)字段必须填写描述信息

      (4)禁止使用数据库关键字,如:name,time ,datetime password 等

      (5)字段名称一般采用名词或动宾短语

      (6)采用字段的名称必须是易于理解,一般不超过三个英文单词

      (7)在命名表的列时,不要重复表的名称

      例如,在名employe的表中避免使用名为employee_lastname的字段

      (8)不要在列的名称中包含数据类型

      (9)字段命名使用完整名称,禁止缩写

       

      3.2命名规范

      ①名词  示例:user_id    user_name    sex

      ②动宾短语  示例:is_friend   is_good

       

      3.3待优化命名示例

      ①大小写规则不统一

      错误示例:user_id    houseID

      说明:使用统一规则,修改为”user_id”,”house_id”

       

      ②加下划线规则不统一

      错误示例:username    userid    isfriend    isgood

      说明:使用下划线进行分类,提升可性,方便管理,修改为”user_name”,”user_id”,”is_friend”,”is_good”

       

      ③字段表示不明确

      错误示例:uid    pid

      说明:使用完整名称,提高可读性,修改为”user_id”,”person_id”

       

      3.4字段类型规范

      (1)所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary 、varbinary外,必须有默认值,字符型的默认值为一个空字符值串’’,数值型的默认值为数值0,逻辑型的默认值为数值0

      (2)系统中所有逻辑型中数值0表示为“假”,数值1表示为“真”,datetime、smalldatetime类型的字段没有默认值,必须为NULL

      (3)用尽量少的存储空间来存储一个字段的数据

      使用int就不要使用varchar、char,

      用varchar(16)就不要使varchar(256)

      IP地址使用int类型

      固定长度的类型最好使用char,例如:邮编(postcode)

      能使用tinyint就不要使用smallint,int

      最好给每个字段一个默认值,最好不能为null

      (4)用合适的字段类型节约空间

      字符转化为数字(能转化的最好转化,同样节约空间、提高查询性能)

      避免使用NULL字段(NULL字段很难查询优化、NULL字段的索引需要额外空间、NULL字段的复合索引无效)

      少用text类型(尽量使用varchar代替text字段)

       

      3.5数据库中每个字段的规范描述 

         (1)尽量遵守第三范式的标准(3NF) 

           表内的每一个值只能被表达一次 

           表内的每一行都应当被唯一的标示 

           表内不应该存储依赖于其他键的非键信息

      (2)如果字段事实上是与其它表的关键字相关联而未设计为外键引用,需建索引

      (3)如果字段与其它表的字段相关联,需建索引

      (4)如果字段需做模糊查询之外的条件查询,需建索引

      (5)除了主关键字允许建立簇索引外,其它字段所建索引必须为非簇索引

       

      四、SQL语言编码规范 

      4.1大小写规范 

      (1)所有关键字必须大写,如:INSERT、UPDATE、DELETE、SELECT及其子句,IF……ELSE、CASE、DECLARE等

      (2)所有函数及其参数中除用户变量以外的部分必须大写

      (3)在定义变量时用到的数据类型必须小写

       

      4.2注释 

      注释可以包含在批处理中,在触发器、存储过程中包含描述性注释将大大增加文本的可读性和可维护性,本规范建议: 

      (1)注释以英文为主,实际应用中,发现以中文注释的SQL语句版本在英文环境中不可用,为避免后续版本执行过程中发生某些异常错误,建议使用英文注释

      (2)注释尽可能详细、全面创建每一数据对象前,应具体描述该对象的功能和用途,传入参数的含义应该有所说明,如果取值范围确定,也应该一并说明,取值有特定含义的变量(如boolean类型变量),应给出每个值的含义

      (3)注释语法:单行注释、多行注释 

      单行注释:注释前有两个连字符(--)对变量、条件子句可以采用该类注释

      多行注释:符号之间的内容为注释内容,对某项完整的操作建议使用该类注释

      (4)注释简洁,同时应描述清晰

      (5)函数注释: 

      编写函数文本--如触发器、存储过程以及其他数据对象--时,必须为每个函数增加适当注释,该注释以多行注释为主,主要结构如下: 

      CREATE PROCEDURE sp_xxx 

       

       

       

       数据库表设计需要满足

      1、功能需求

      2、性能需求

      3、扩展性需求

       

       

      参考:

      数据库设计规范化的 5 个要求

      数据库表设计的几条准则

      数据库表结构设计浅谈

       

       

      数据库表及字段命名规范(一)

      展开全文
    • ER图和关系模型到MySQL数据库表

      千次阅读 2020-03-02 21:01:12
      本篇主要介绍了MySQL数据库表从ER图到关系模型,再到数据库表的创建过程及其表结构的修改。通过本篇的学习,可以掌握以下内容: ● 应用ER图和关系模型创建数据库表数据库表结构的修改 1、mooc数据库表的ER...

      本篇主要介绍了MySQL数据库表从ER图到关系模型,再到数据库表的创建过程及其表结构的修改。通过本篇的学习,可以掌握以下内容:

      ● 应用ER图和关系模型创建数据库表

      ● 数据库表结构的修改

       

      1、mooc数据库表的ER图和关系模型

      在创建数据库表之前,首先需要设计数据库表。设计数据库表的主要工具是ER图,使用ER图设计数据库表详见《数据库实体联系模型与关系模型》一文。mooc数据库表的ER图如下。

       

      图 1 mooc数据库ER图

       

      ER图给出了mooc数据库表的图形化描述,但还缺乏建立数据库表必要的字段名称、字段类型等信息。还需要把ER图归纳为满足一定约束条件二维表的形式,才可以开始创建数据库表。mooc数据库二维表见下表。

       

       

       

      2、MySQL数据库常用字段数据类型

      表结构是由多个字段构成的,定义字段时需要定义字段的名称、数据类型、数据大小及其数据格式等内容。MySQL提供了一组预定义的数据规则,用于描述数据类型、数据大小及格式。当我们定义字段数据类型时,需要遵循这些规则。MySQL预定义的数据规则大体分为日期和时间、数值和字符串,下面分别给予说明。

      (1)日期和时间

       

      (2)整型数值

       

      (3)浮点数值

       

      浮点数值类型带有附加参数,m表示数值总的位数,d表示小数占的位数。例如,float(7,3) 表示数值总位数不会超过 7 位数字,小数点后面带有 3 位数字。对于小数点后面的位数超过允许范围的值,MySQL 会自动将它四舍五入为最接近它的值,因此使用浮点类型的时候,数值的精度会影响到查询操作。

      (4)字符串

       

      其中,char类型占用固定的存储空间,与char类型的字段值大小无关。varchar类型的存储空间是动态变化的,占用存储空间的大小与存储的内容相关。这里需要注意的是,char和varchar的长度是指可存储字符的个数,并不代表字节个数。

       

      3、新建mooc数据库表

      有了mooc数据库二维表,就可以开始创建数据库表了。使用MySQL命令或Navicat等数据库管理工具都可以创建数据库表。这里重点介绍使用MySQL命令创建数据库表,Navicat等数据库管理工具基本都是图形用户界面程序,操作相对容易掌握,这里就不再介绍了。

      创建数据库表的MySQL命令语句如下:

      create table table_name (column_name column_type [约束条件] [, column_name column_type [约束条件]…]);

      其中,create table为命令串,table_name为创建表的名称,column_name为字段名称,column_type为字段数据类型,约束条件是字段约束项,可以允许有多个字段约束项,每个字段约束项之间用英文空格分隔。可以允许有多个字段,每个字段之间用英文逗号分隔。

      下面的语句分别创建course表、teacher表、student表、student_course表。

       

      其中,命令中not null是字段约束项,表示该字段不能为空。primary key用于定义哪个字段作为主键,可以定义多个主键,每个主键之间用英文逗号分隔。

       

      3 、修改mooc数据库表结构

      表创建完成后,由于各种原因可能需要修改表的结构。例如,在原有的表中增加字段或者删除字段,修改字段的数据类型等。

      添加字段

      MySQL添加字段的命令语句如下:

      alter table 表名 add 字段1[, 字段2…]

      例如,需要在course表增加时间字段和类型字段,可以使用下面的命令:

      alter table course

      add create_time date not null,

      add type varchar(10);

      修改字段

      MySQL修改字段的命令语句如下:

      alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];

      例如,需要修改course表type字段的名称和类型,字段名称修改为course_type,数据类型修改为int。可以使用下面的命令:

      alter table course

      change type course_type int;

      删除字段

      MySQL修改字段的命令语句如下:

      alter table 表名称 drop column 字段名称[, drop column 字段名称…]

      例如,要删除course表的create_time字段和course_type字段,可以使用下面的命令:

      alter table course

      drop column create_time,

      drop column course_type;

       

      ■ 课程小结

      (1)在创建数据库表之前,首先要进行表的设计,设计表的主要工具就是ER图,ER图给出了数据库表的图形化描述,但还缺乏建立数据库表必要的字段名称、字段类型等信息。因此还需要把ER图归纳为满足一定约束条件的二维表的形式,才可以开始创建表。

      (2)MySQL提供了一组用于创建和管理数据库表的命令,通过这些命令可以建立新表、修改表原有的结构。当然也可以使用Navicat等工具可视化地管理数据库表。

      展开全文
    • 对比两个数据库表结构(支持sql2008)

      热门讨论 2012-03-26 16:27:32
      在项目做好后实施了以后,可能因为需求等原因需要升级, 这时候一般都是在测试系统改好后在更新到正式系统. ...改程序可以对比两个数据库下所有结构的不同.并显示 同时也有源程序 改代码已支持sql2008
    • 数据库表连接

      千次阅读 2019-03-17 02:03:18
      的连接分成好几种类型。 内连接(inner join) 外连接(outer join) 左连接(left join) 右连接(right join) 全连接(full join) 很容易看出,一共有四种处理方法。 只返回两张匹配的...

      表的连接分成好几种类型。

      • 内连接(inner join)
      • 外连接(outer join)
      • 左连接(left join)
      • 右连接(right join)
      • 全连接(full join)
      • 很容易看出,一共有四种处理方法。

        • 只返回两张表匹配的记录,这叫内连接(inner join)。
        • 返回匹配的记录,以及表 A 多余的记录,这叫左连接(left join)。
        • 返回匹配的记录,以及表 B 多余的记录,这叫右连接(right join)。
        • 返回匹配的记录,以及表 A 和表 B 各自的多余记录,这叫全连接(full join)。

        这四种连接的 SQL 语句如下。

        
        SELECT * FROM A  
        INNER JOIN B ON A.book_id=B.book_id;
        
        SELECT * FROM A  
        LEFT JOIN B ON A.book_id=B.book_id;
        
        SELECT * FROM A  
        RIGHT JOIN B ON A.book_id=B.book_id;
        
        SELECT * FROM A  
        FULL JOIN B ON A.book_id=B.book_id;
      展开全文
    • SQL数据库表的设计

      千次阅读 2019-05-08 18:09:46
      《SQL数据库表的设计》 开发工具与关键技术:Visual Studio /SQL数据库 作者:肖春庆 撰写时间:2019年05月04日 数据库是一种存储数据的文件储物柜,用户可以以一定的方式存储并且对数据库里的数据进行新增、查询、...
    • 金蝶 KIS专业版10 数据库表和字段详细说明 与官网发行的最新版匹配
    •  1、查询数据库表数量 #查询MySQL服务中数据库表数据量 SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES GROUP BY table_schema; #查询指定数据库表数量 SELECT COUNT(*) TABLES, ...
    • Mysql数据库表结构导出工具介绍

      千次阅读 2019-02-27 11:15:02
      软件开发过程中,数据库设计是其中非常重要的一个环节,一般在设计阶段都会采用PowerDesigner进行数据库表的设计并生成数据库表结构文档。但是有的时候数据库表结构文档缺失了怎么办,能不能从数据库直接导出一个...
    • 数据库表之间的关系

      万次阅读 2018-09-15 08:53:14
      数据库表与表之间的关系(设计表时考虑的)有三种:一对一、一对多(多对一)、多对多。 一对一 建表原则: 外键唯一:主表的主键和从表的外键(唯一),形成主外键关系,外键唯一unique。 外键是主键:主表的...
    • 数据库表的操作 1.创建一张表 create table 表名( 字段名 类型(长度) [约束], 字段名 类型(长度) [约束], 字段名 类型(长度) [约束] ); 2.查看数据库表 show tables; **查看表的结构 desc 表名** 3.删除一张表 ...
    • 数据库表命名规范

      万次阅读 2017-12-18 08:13:38
      数据库表命名规范:(1)表名前应该加上前缀,表的前缀一个用系统或模块的英文名称缩写,前缀全部大写或首字母大写,表名中包含的单词首字母大写。(2)数据库表名应该有意义,并且易于理解,最好使用可以表达功能的英文...
    • Activiti7系列课程2-数据库表生成

      千次阅读 2019-06-13 15:25:03
      本文重点讲解在springboot环境下如何自动生成activiti7需要用到的。 配置 打开application.yml文件,进行如下的配置: spring: activiti: database-schema-update: true 参数说明 ...
    • MySQL数据库表结构的设计

      万次阅读 多人点赞 2019-05-28 13:51:56
      MySQL数据库表结构的设计。四大范式。表结构的设计是数据库优化中至关重要的环节,需要认真谨慎对待,在遵守四大范式的前提下,充分考虑业务未来的可扩展性,适应未来业务变化,促进系统更加健康健壮。
    • 数据库表结构关系图生成

      万次阅读 多人点赞 2019-12-08 06:21:09
      如有你有这个数据库的工具的话,就可以直接将你建好的数据库表直接生成模型图。 打开Navicat,连接我们的数据库 打开数据库表 点击右下角的几个按钮 随便点击试一下,最后你会发现点击从左数第三个的时候,会变成...
    • MySQL创建数据库和创建数据

      万次阅读 多人点赞 2019-10-20 23:44:40
      MySQL 创建数据库和创建数据 MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。 在这之前,需要先安装好 MySQL ,然后创建好数据库、数据、操作用户。 一、数据库操作语言 数据库...
    • navicat导出数据库表结构及数据

      千次阅读 2020-06-29 22:09:53
      本文介绍下使用navicat导出数据库表结构、表数据 导出表结构、数据 1、选择工具->数据传输 2、选择我们的数据库,然后目标选择文件,目录导出到本地桌面的1.sql文件(也可以选择连接把数据传输到其他数据库) 3...
    • 数据库表添加注释

      千次阅读 2019-07-11 13:25:59
      oracle数据库名称添加注释信息: COMMENT ON TABLE 表名 IS '注释信息'; COMMENT ON COLUMN 表名.字段名 IS '字段注释信息'
    • 修改数据库表

      千次阅读 2018-05-13 21:28:51
      1 添加列: ALTER TABLE <表名> ...7 删除数据库表: DROP TABLE IF EXISTS 表1, 表2, …… 表n; 多了一个if exists会隐藏错误信息; 8 创建表分区: 把输入录入分区: 检索时按分区检索会大大提高检索效率:
    • 数据库表与表的关系(超详细讲解)

      千次阅读 2020-01-22 22:06:48
      Spring Data JPA多操作关系一对一一对多多对一多对多 本篇博文主要说明实际开发中常用的关联关系,一对多和多对多。 关系 一对一 一对多 多对一 多对多 ...
    • 数据库表初始化

      千次阅读 2018-12-31 16:07:47
         
    • oracle数据库:在oracle中一个数据库可以具有多个用户,那么一个用户一般对应一个Schema,表都是建立在Schema中的,(可以简单的理解:在oracle中一个用户一套数据库表) mysql数据库:mysql数据中的schema比较...
    • MySQL创建数据库表student

      千次阅读 2021-04-03 17:10:02
      MySQL创建数据库表student 1,创建数据库 create database mydb; 2,查看所有数据库 show databases; 3,使用数据库 use mydb; 4,创建数据库表student create table student(sno int(6),name ...
    • mysql 中国省份城市数据库表

      万次阅读 多人点赞 2018-12-12 20:25:00
      学习用到地区的选择,所以总结了一下中国省份-城市-县(区)分布,大概情况如下: 部分省份 部分市 部分县(区) 有需要可以通过以下链接直接获取mysql的sql脚本 链接:...提取码:hwlc...
    • springBoot下java自动创建数据库表

      万次阅读 2018-10-17 16:11:06
      ####SpringBoot环境启动项目创建数据库表 ####使用环境 windows+eclipse+mysql+navicat ####步骤 1.创建SpringBoot项目 2.新建数据库,配置连接信息 3.编写初始化数据库表类 4.运行查看结果 1.创建SpringBoot项目 ...
    • 两个数据库之间使用DB LINK进行访问,现在需要将一个数据库表中的数据复制到另一个数据库表中,大概有200多万条数据,直接使用insert into 语句,平时数据库没人用的时候,大概7到8分钟就可以导完,若跑批任务使用...
    • 数据库表被锁住如何处理

      万次阅读 2018-10-17 14:31:14
      //查出哪个进程在锁 SELECT s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id = s.sid; ... //杀掉锁住的进程 ...ALTER system kill ...
    • 数据库表结构设计

      万次阅读 2018-02-13 14:33:02
      为什么要学习数据结构设计 实际开发中,需要根据需求,将实际模型...PowerDesigner这个工具,可以做UUML图帮助分析数据关系,最重要的是可以把设计好的结构转换成你使用的数据库的命令语句,方便在数据库中使用...
    • 导出mysql数据库表生成word文档

      千次阅读 2019-03-01 16:04:54
      前段时间产品突然提了个需求,要求写出项目组的所有的文档,由于数据库里面非常多,手写肯定不行,而且容易出错,就做了个项目,以后导数据库文档,直接就可以用了。 项目结构是springboot+mybatis,使用起来很...

    空空如也

    空空如也

    1 2 3 4 5 ... 20
    收藏数 2,463,991
    精华内容 985,596
    关键字:

    数据库表