数据的完整性:
作用:保证用户输入的数据保存到数据库中是正确的。
确保数据的完整性 = 在创建表时给表中添加约束
完整性的分类:
实体完整性: 域完整性: 引用完整性:
1、实体完整性
实体:即表中的一行(一条记录)代表一个实体(entity)
实体完整性的作用:标识每一行数据不重复。
约束类型: 主键约束(primary key) 唯一约束(unique) 自动增长列(auto_increment)
1.1主键约束(primary key)
注:每个表中要有一个主键,在开发中,一般情况下主键不具有任何意义,只是用来做标识。主键唯一且非null。
第一种添加方式:
CREATE TABLE student(
id int primary key,
name varchar(50)
);
第二种添加方式:此种方式优势在于,可以创建联合主键
CREATE TABLE student(
id int,
name varchar(50),
primary key(id)
);
第三种添加方式:
CREATE TABLE student(
id int,
name varchar(50)
);
ALTER TABLE student ADD PRIMARY KEY (id);
1.2唯一约束(unique):
CREATE TABLE student(
Id int primary key,
Name varchar(50) unique
);
1.3自动增长列(auto_increment)
sqlserver数据库 (identity(1,1):从1开始每次增长1,oracle数据库( sequence)
给主键添加自动增长的数值,列只能是整数类型
CREATE TABLE student(
Id int primary key auto_increment, -- 字段自动增长
Name varchar(50)
);
INSERT INTO student(name) values(‘tom’);
2、域完整性
域完整性的作用:限制此单元格的数据正确,不对照此列的其它单元格比较
域代表当前单元格
域完整性约束:数据类型 非空约束(not null) 默认值约束(default)
check约束(mysql不支持)check(sex='男' or sex='女')
2.1 数据类型:(数值类型、日期类型、字符串类型)
2.2 非空约束:not null
CREATE TABLE student(
Id int pirmary key,
Name varchar(50) not null,
Sex varchar(10)
);
INSERT INTO student values(1,’tom’,null);
2.3 默认值约束 default
CREATE TABLE student(
Id int pirmary key,
Name varchar(50) not null,
Sex varchar(10) default ‘男’
);
insert into student1 values(1,'tom','女');
insert into student1 values(2,'jerry',default);
3、引用完整性(也可以叫参照完整性)
外键约束:FOREIGN KEY
主外键是构成表与表关联的唯一途径。外键是另一张表的主键
例:
CREATE TABLE student(
sid int pirmary key,
name varchar(50) not null,
sex varchar(10) default ‘男’
);
create table score(
id int,
score int,
sid int , -- 外键列的数据类型一定要与主键的类型一致
CONSTRAINT fk_score_sid foreign key (sid) references student(id)
);
第二种添加外键方式。
ALTER TABLE score1 ADD CONSTRAINT fk_stu_score FOREIGN KEY(sid) REFERENCES stu(id);
删除外键约束;
ALTER TABLE t_section DROP FOREIGN KEY fk_t_user;
- 浏览: 14714 次
相关推荐
2. 表设计:用户可以通过图形界面设计表结构,定义字段、类型、键约束等,简化数据库建模过程。 3. SQL编辑器:内置的SQL编辑器支持编写和执行复杂的SQL查询,支持自动完成和语法高亮,提高工作效率。 4. 用户权限...
1. **数据库设计**:通过拖放功能,可以方便地创建和修改表结构,包括设置字段类型、长度、约束(如主键、外键)等。它还支持自增字段和时间戳自动更新。 2. **数据编辑**:提供了表格视图,允许用户直接在界面上...
`命令可以查看表的列信息和约束。 - **创建数据库与表**:使用`CREATE DATABASE 数据库名;`和`CREATE TABLE 表名 (字段列表);`命令可以创建新的数据库和表。 - **删除数据库与表**:使用`DROP DATABASE 数据库名;`和...
- MySQL 8.0默认使用InnoDB存储引擎,支持事务处理、行级锁定和外键约束。 13. **安全管理** - 除了密码策略,还可以通过GRANT和REVOKE语句管理用户权限,实现细粒度的访问控制。 14. **优化器改进** - MySQL ...
表的设计支持自定义字段类型、长度、默认值和约束条件。 3. 数据浏览与编辑:用户可以直观地查看和编辑数据库中的数据,支持增删改查操作,提供数据过滤、排序和搜索功能。表格视图允许用户以行列形式查看和编辑...
3. 数据表:使用CREATE TABLE语句创建数据表,定义列名、数据类型和约束条件。 4. 插入数据:使用INSERT INTO语句向数据表中添加记录。 5. 查询数据:利用SELECT语句查询数据,可以结合WHERE、JOIN、GROUP BY等子句...
3. **数据库结构迁移**:根据MySQL的DDL(Data Definition Language)生成Oracle的等价DDL,并在Oracle中创建相应的表、索引和约束。 4. **应用代码调整**:可能需要修改依赖MySQL特性的Java代码以适应Oracle的特性...
3. **创建数据库和表**:使用SQL语句创建数据库和表,定义字段类型和约束。 4. **插入与查询数据**:向数据库中插入数据,并使用SELECT语句进行查询,利用索引优化查询性能。 5. **用户管理**:创建和管理数据库用户...
1. **InnoDB存储引擎**:MySQL 5.0.22支持InnoDB存储引擎,提供了事务处理、行级锁定以及外键约束等功能,适合处理大量数据并要求高并发的业务场景。 2. **MyISAM存储引擎**:另一个常见的存储引擎,以快速读取和...
1. **InnoDB存储引擎**:MySQL 5.7默认使用InnoDB存储引擎,它支持事务处理、行级锁定以及外键约束,确保了数据的一致性和完整性。 2. **性能优化**:MySQL 5.7包含了一些性能提升措施,如InnoDB缓存池的增大,提升...
4. **设计和编辑表格**:工具提供了表格设计视图,允许用户直接在Visual Studio中创建和修改表结构,包括字段类型、长度、约束等。 5. **查询编辑器**:内置的SQL查询编辑器支持编写、执行和调试SQL语句,支持语法...
1. **存储引擎**:MySQL 5.7默认使用InnoDB存储引擎,它支持事务处理、行级锁定和外键约束,适用于需要高并发和数据一致性的应用。 2. **性能提升**:MySQL 5.7对查询优化器进行了改进,包括更好的查询计划选择和更...
2. InnoDB存储引擎:MySQL支持多种存储引擎,其中InnoDB是最常用的一种,它提供了事务处理、行级锁定以及外键约束等功能。源码中可以学习到InnoDB如何处理数据的读写、事务提交与回滚,以及索引的构建与查询优化。 ...
MySQL 5.1是MySQL数据库的一个重大更新,引入了InnoDB存储引擎的重大改进,包括支持事务处理、行级锁定和外键约束,这些都是企业级应用的重要需求。此外,它还增强了复制功能,提供了更好的性能和可用性。5.1版本也...
1. **InnoDB存储引擎**:MySQL 5.7默认使用InnoDB存储引擎,它支持事务处理、行级锁定以及外键约束,确保数据的一致性和完整性。 2. **性能提升**:MySQL 5.7通过改进查询优化器、增加并行复制等技术,显著提升了...
可以创建新的表,定义字段类型、长度、约束条件等,还可以方便地调整表间的关系,实现外键约束。 4. **数据可视化**:通过表格、图表等形式展示数据,便于数据分析和理解。用户还可以自定义列宽、排序和过滤数据,...
1. **InnoDB存储引擎**:MySQL 5.1默认使用InnoDB存储引擎,它支持事务处理、行级锁定以及外键约束,适合大型企业级应用。InnoDB在5.1版本中进行了优化,提供了更快的插入速度和更高的并发性能。 2. **分区功能**:...
- SQL脚本生成:根据模型自动生成SQL脚本,用于创建数据库表和约束。 - 模型比较:比较不同版本的模型,便于跟踪和管理数据库结构的变化。 2. **SQL开发(SQL Development)**: - SQL编辑器:提供代码自动完成...
8. **InnoDB存储引擎**:MySQL 8.0默认使用InnoDB存储引擎,它支持事务处理、行级锁定和外键约束,适合高并发和复杂业务场景。 9. **性能优化**:此版本可能包含性能优化特性,如更快的索引创建、查询优化器的改进...
6. SQL模式和约束:新增了更多的数据完整性约束,如 GENERATED AS 和 ALWAYS 子句,用于创建虚拟列,以及 CHECK 约束,增强了数据库的设计和安全性。 7. 安全性提升:加强了认证和权限管理,包括支持SHA-256密码...