定义数据表时要考虑的要素

定义数据表时要考虑的要素

创建一张数据表时一般有以下要素要考虑:

  • 列:

    • 字段类型
    • 是否为空
    • 是否自增
    • 默认值
  • 键:
    • 主键
    • 外键
    • 唯一键(也可能是多个 filed 组成的)
  • 触发器(就是自动调用的存储过程,据说要慎用,因为它在不知情的下做了很多操作,会让系统更加复杂)
  • 最后是索引,但很少用到

另外,数据库中除了表以外,还有其他元素:

  • 视图
  • 存储过程

注意:字段设置为 null 和空字符串, 这两者含义是不一样的,请注意这两者之间的差别。

原文地址:https://www.cnblogs.com/akak/p/10061725.html

时间: 2024-10-10 22:45:56

定义数据表时要考虑的要素的相关文章

MySQL创建数据表时设定引擎MyISAM/InnoDB

我在配置mysql时将配置文件中的默认存储引擎设定为了InnoDB.今天查看了MyISAM与InnoDB的区别,在该文中的第七条“MyISAM支持GIS数据,InnoDB不支持.即MyISAM支持以下空间数据对象:Point,Line,Polygon,Surface等.”作为一个地理信息系统专业的学生(其实是测绘专业)来讲,能存储空间数据的数据库才是好数据库,原谅我是数据库小白的身份. 有三种方式可以设定数据库引擎: (1)修改配置文件 将安装目录下~\MySQL\mysql-5.6.31-wi

多用户操作一个数据表时的并发性操作

事务处理(多用户同时操作一条信息时是用-并发) 在c/s或多层中,如果两个用户同时打开一条记录,修改后提交会产生更新冲突: 据说办法有二:1.打开同时锁定表的记录 2.浦获错误,撤消其中一个用户的修改,但是很少见到具体实现的代码:请大家告诉具体的代码怎么写: 1.打开时如何锁定一条记录? 2.如何扑获更新错误?在delphi中调试时会报“该记录读出后已经被再次修改”,而在运行时如何判定错误为更新冲突?因为更新时其他的错误如输入不合法等也可能报错,如何把更新冲突和其他的分开? ==========

myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法)

出现这个问题有以下三步解决思路: 1. 检查myeclipse的编码格式 windows---->Preferences---->general---->Workspace,右侧窗口Text file encoding,选择Other,改变为UTF-8. 此时刷新项目,看能否正常写入中文字符. 2. 检查数据库的编码格式 我用sqlyog连接的数据库,先在询问窗口查询一下编码格式: SHOW VARIABLES LIKE 'character_set_%';结果如下: 检查图中的几项是否

在hive中查询导入数据表时FAILED: SemanticException [Error 10096]: Dynamic partition strict mode requires at least one static partition column. To turn this off set hive.exec.dynamic.partition.mode=nonstrict

当我们出现这种情况时 FAILED: SemanticException [Error 10096]: Dynamic partition strict mode requires at least one static partition column. To turn this off set hive.exec.dynamic.partition.mode=nonstrict 这时候我们需要改变一下设置 set hive.exec.dynamici.partition=true;set h

将txt文档导入数据表时

select * into linshi from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=F:\web\;','select sCode from 1.txt')

三、数据表的基本操作

3.1.创建数据表 创建数据表指的是在已经创建好的数据库中建立新表.创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(实体完整性.引用完整性.域完整性)约束的过程. 创建表的语法格式 数据表属于数据库,在创建数据表之前,应该先创建数据库,指定在哪个数据库中进行. mysql> USE test; Database changed mysql> CREATE TABLE tb_name ( 字段名1,数据类型 [列级别约束条件] [默认值], 字段名2,数据类型 [列级别约束条件

mysql之DDL操作--数据表

我们创建好了数据库以后,就可以创建相应的数据表,那么创建表也是属于DDL数据定义层面,接下来我们来学习一下. 1.创建数据表 创建指令:create table tb_name [表选项] 我们发现指令与数据库的创建指令是相同的,没什么大的区别. PS:当然我们创建表之前,首先先选择相应的数据库. 接下来我们创建一张学生信息表 create table student_studentinfo( id int, name varchar(5), class_id int); 关于列类型以及列约束即

mysql数据表的基本操作

好久没梳理下Mysql基础命令了.今天抽空整理了下,虽然很简单...但是还是有必要巩固下基础滴啦 1.创建表:之前需要use database database_name 然后create table 表名(): 例:创建员工表tb_employee1,结构如下表所示 字段名称 数据类型 备注 id int(11) 员工编号 name varchar(25) 员工名称 depld int(11) 所在部门编号 salary float 工资 mysql> create database aa;

数据库实验二 数据库和数据表的创建

实验环境: SQL Service 2014 一.数据库的创建 有三种类型的文件用来存储数据库: 主文件包含数据库的启动信息.主文件还可以用来存储数据.每个数据库都包含一个主文件. 次要文件保存所有主要数据文件中容纳不下的数据.如果主文件大到足以容纳数据库中的所有数据,就不需要有次要数据文件.而另一些数据库可能非常大,需要多个次要数据文件,也可能使用多个独立磁盘驱动器上的次要文件,以将数据分布在多个磁盘上. 事务日志文件保存用来恢复数据库的日志信息.每个数据库必须至少有一个事务日志文件(尽管可以