精华内容
下载资源
问答
  • 什么是关系型数据库,主键,外键,索引分别是什么? 关系型数据库是由多张能互相联接的二维行列表格组成的数据库 主关键字(primary key)是表中的一个或多个字段,它的用于唯一地标识表中的某一条记录 外键...

    什么是数据库?

    	数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
    

    什么是关系型数据库,主键,外键,索引分别是什么?

    		关系型数据库是由多张能互相联接的二维行列表格组成的数据库
    		主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录
    		外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称
    		为主表的从表。外键又称作外关键字
    		在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某
    		个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单
    

    主流数据库

    **oralce  数据库**  
        Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
    

    mysql
    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
    MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
    MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
    由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

    **DB2** 
       IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本。
    DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 DB2以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用
    
    
    **SQLserver数据库**
    美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。
    
    **SQLite**
    是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至2015年已经有15个年头,SQLite也迎来了一个版本 SQLite 3已经发布。
    
    展开全文
  • 数据库什么是主键

    2020-05-27 21:48:13
    主键:表中经常有一个的组合,其唯一地标识表中的每一行。 通俗叫:一个表中只能有一个主键,不接受空值,能唯一的表示表中的每一行。 例如:银行卡的卡号就是主键,不存在重复的情况。 ...

    数据库主键
    在这里插入图片描述
    主键:表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。

    通俗叫:一个表中只能有一个主键,不接受空值,能唯一的表示表中的每一行。 例如:银行卡的卡号就是主键,不存在重复的情况。

    展开全文
  • 数据库约束防止非法记录的规则, 约束保存在数据字典(data dictionary)中, 约束可以被定义在列级或者表级。  Oracle中包括一下集中约束:  1. Not Null - 明确一数据不能包含null  2. Unique - 强制...

      数据库约束是防止非法记录的规则, 约束保存在数据字典(data dictionary)中, 约束可以被定义在列级或者表级。

      Oracle中包括一下集中约束:
      1. Not Null    - 明确一列数据不能包含null值
      2. Unique      - 强制所有数据行不能有重复值
      3. Primary Key - 每一行数据的唯一标示
      4. Foreign Key - 强制一列数据与引用表的外键约束关系
      5. Check       - 检查,明确规定一个必须为true的condition

    展开全文
  • 数据库

    热门讨论 2020-12-05 14:18:21
    当我们在创建数据库的表和字段时,我们总是说要声明约束,那约束究竟是什么呢?那么又如何在创建表时或者已经创建好了表之后通过添加删除来怎样进行约束呢?听我来说说吧!   【前言】 分为了五个部分: NOT ...

    当我们在创建数据库的表和字段时,我们总是说要声明约束,那约束究竟是什么呢?那么又如何在创建表时或者已经创建好了表之后通过添加删除来怎样进行约束呢?听我来说说吧!
     
    【前言】
    分为了五个部分:
    NOT NULL:指定某列不能存储NULL(未知,但不是空)值,强制要求字段必须要包含值
    UNIQUE:唯一约束,防止一个特定的列中两个记录有一致的值
    CHECK:检查约束,保证列中的值符合指定的条件。用于限制列中的值的范围
    PRIMARY KEY:主键约束,确保某列必须要有唯一标识符
    FOREIGN KEY:外键约束,主键和外键创建了不同表中数据的相互关系
    分为了两种情况:
    在创建表时规定(CREATE TABLE table_name)
    在创建表之后规定(ALTER TABLE table_name)
     
    【正文】
    一、NOT NULL
    在默认情况下,表接受NULL 值
    约束强制列不接受NULL 值
    <举例>
    CREATE TABLE table_name语句
    现要创建一个学生信息表,对表中的列进行约束
    CREATE TABLE Student
    (
    SId int NOT NULL
    SAge int NOT NULL
    );
    LTER TABLE table_name语句
    添加NOT NULL约束
    ALTER TABLE Stude
    ADD COLUMN Student int NOT NULL;
    在一个创建好的学生信息表中添加NOT NULL约束

    二、UNIQUE
    唯一约束
    防止一个特定的列中两个记录有一致的值
    <举例>
    CREATE TABLE table_name语句
    现要创建一个学生信息表,对SName列进行UNIQUE约束
    .
    CREATE TABLE Student

    SId int
    

    SName varchar(50)
    SAge int UNIQUE
    );

    当要对多个列进行约束时:对SId列和SName列进行UNIQUE约束
    CREATE TABLE Student

    SId int,
    SName varchar(50)
    SAge int UNIQUE,
    CONSTRAINT uc_PersonId UNIQUE (SId, SName)
    );
    ALTER TABLE table_name语句
    添加UNIQUE约束:
    .
    ALTER TABLE Studen
    ADD UNIQUE (SId)
    对SId列添加UNIQUE约束
    ALTER TABLE Studen
    ADD CONSTRAINT uc_PersonID UNIQUE (SId, SName)
    当要对多个列进行约束时:对SId列和SName列进行UNIQUE约束
    删除UNIQUE约束
    ALTER TABLE Student
    DROP CONSTRATIN uc_PersonId

    注:在对ALTER TABLE table_name语句进行UNIQUE约束时,会发现多了一个uc_PersonId,这个是什么呢?
    uc_PersonId是一个联合约束名,就是UNIQUE CONSTRAINT的缩写(意思是唯一约束),就是对表中的SId列和SName列进行强制约束。
     
     
    三、CHECK
    检查约束
    保证列中的值符合指定的条件
    用于限制列中的值的范围
    <举例>
    CREATE TABLE table_name语句
    现要建一个学生信息表,对表中的SAge列进行范围约束
    .
    CREATE TABLE Student

    SId int NOT NULL,
    SName varchar(50) NOT NULL,
    SAge int CHECK(SAge >= 0)
    );

    从语句中我们可以看出,对SAge这个列进行了一个CHECK约束,强制要求它的范围必须大于等于0,按照常识,我们的年龄不可能比0还小,当它超出了所约束的范围时,系统就会报错
    当要对多个列进行约束时:对SId列和SName列进行CHECK约束
    .
    CREATE TABLE Stude

    SId int NOT NULL,
    SName varchar(50),
    SAge int NOT NULL,
    CONSTRAINT chk_PersonId (SId >0 AND SAge >=0)
    ALTER TABLE table_name语句
    添加约束:
    .
    ALTER TABLE Student
    ADD CHECK (SId>0)
    ALTER TABLE Student
    ADD CONSTRAINT chk_PersonId CHECK (SId >0 AND SAge >=0)
    对多行表进行约束
    对已创建好的Student表中的SId列和SAge列进行约束
    删除约束
    ALTER TABLE Student
    DROP CONSTRAINT chk_PersonId 
     
    四、PRIMARY KEY
    主键约束
    在所有约束中,最重要的,也最常用。要向符合第一范式,则每个表中都必须有一个主键(提供表之间的链接)
    是UNIQUE约束和NOT NULL约束的组合
    确保某列必须要有唯一标识符
    主键约束不可重复,不可NULL值
    <举例>
    CREATE TABLE table_name 语句
    现要创建一个学生信息表,对SId列进行主键PRIMARY KEY约束
    CREATE TABLE Student
    (
    SId int NOT NULL PRIMARY KEY,
    SName varchar(50) NOT NULL,
    SAge int NOT NUL
    );
    ALTER TABLE table_name语句
    添加约束
    .
    ALTER TABLE Student
    ADD PRIMARY KEY (SId)
    对SId列进行PRIMARY KEY约束
    ALTER TABLE Student
    ADD CONSTRAINT uc_PersonId PRIMARY KEY (SId, SName)
    对SId列和SName列进行联合主键约束
    .
    删除PRIMARY KEY约束
    .
    ALTER TABLE Student
    DROP CONSTRAINT uc_PersonId
    .
    到这里我们就会有一个疑问了,明明一个表中只能有一个字段为主键,为什么这里还要联合多列为主键呢?其实我当时也有过这样的疑惑。请点击:https://www.jianshu.com/p/8625b3b639b3
    当我们约束PRIMARY KEY时,还需要特别注意一点:当对某列或者多个列进行PRIMARY KEY约束时,一定要保证你所约束的字段是NOT NULL的,如果不是,系统就会报错,无法进行约束。电脑前的小伙伴可以试试:当你所约束的字段不是NOT NULL时会时什么样的,自己动动手指试试吧!我当时就上了这个当,你们一定要谨记哈
     
     
    五、FOREIGN KEY
    外键约束
    主键和外键创建了不同表中数据的相互关系
    可能对这段抽象的文字有点疑惑。我来举个例子来看看吧
    现有分别有两张学生信息表和学生所喜爱的电影信息表
    Student
    SIde SAge SName
    1 17 春花
    2 19 夏雪
    3 15 秋月
     
    Films
    FilmId Rating SId
    1 2 1
    2 4 3
    3 1 2
    从图中我们会发现:Student表中的SId列是Student表的PRIMARY KEY
                                     Films表中的SIde列是Films表中的FOREIGN KEY
                                     Student表中的SId列指向了Films表中的SId
     Student表和Films表中的主键和外键使两个表创建了连接关系
    举例
    CREATE TABLE table_name语句
    现有一个Student表,创建一个Films表,对SIde列进行外键约束
    CREATE TABLE Films

    FilmId int NOT NULL PRIMARY KEY,
    Rating int NOT NULL,
    SId int FOREIGN KEY REFERENCES Student(SId)
    );
    .
    前提:必须有另一个已经建好的要联系的表
    ALTER TABLE table_name语句
    添加主键
    ALTER TABLE Films
    ADD CONSTRAINT fk_StuFils FOREIGN KEY (SId)
    REFERENCES Student (SId)
    删除主键
    ALTER TABLE Film
    DROP CONSTRAINT fk_StuFils
    .

    展开全文
  • 首先,明确含义:SELECT DISTINCT 语句用于返回唯一不同的 然后举一些例子说明一下使用场景: 场景:班级学生表(student)里有三,分别学号(stunum)、姓名(stuname)、来自省份(province),需要统计一下...
  • 一、主键与外键 ...主键必须包含唯一,且不能包含空值(null)。 2.主键可以建立在每张二维表中单列或者多上。 3.一张二维表上的外键可以引用另一张二维表上对应的主键。   二、数据库关系图
  • 那,什么是? Oracle 中伪就像一个表,但是它并没有存储在表中 伪可以从表中查询,但不能插入、更新和删除它们的 常用的伪有ROWID和ROWNUM ROWID 表中行的存储地址,  它由我们自己设定的  ...
  • rowid表中行的存储地址,该地址可以唯一地标识数据库中的每一行,可以使用rowid伪快速地定位表中的一行。 以emp表为例,查询表中的rowid。如: select rowid from emp 以第一行的rowid为例: ...
  • 数据库的主键指的一个或多个组合,其唯一标注表中的每一行,通过他可以强制表的实体完整性。主键可以用来表示一个精确定位的特定行,如果没有主键,无法精准定位一条记录是否就是你要的相关行记录,这样就...
  • 数据库索引

    2019-09-04 22:06:18
    数据库表中一或多进行排序的一种结构。 索引的目的? 就是加快检索表中数据。 索引分类: 聚簇索引 按照数据存放的物理位置为顺序; 非聚簇索引 根据数据库的功能,可以在数据库设计器中创建三种...
  • 类型分好多 1.varchar;字符串,用于姓名班级,地址等,地址一般长50,姓名长20 2.int;整数,用于成绩,序号等 3.float;小数 ...主键是唯一的。全表中不能重复。 2.自增长 自增长列是不...
  • 原子文档 管理Datomic数据库中任何可寻址实体的:db/doc字符串。...在/dd ,如果配置了多个数据库,则按字母顺序出所有提供的数据库。 导致。 搜索 在/dd (或/dd/:database-name )处,有一个搜索UI,它搜索
  • 索引一种特殊的文件(InnoDB 数据表上的索引表空间的一个组成...如果能确定某个数据将只包含彼 此各不相同的,在为这个数据创建索引的时候就应该用关键字 UNIQUE 把它 定义为一个唯一索引。 也就是说,唯一...
  • 数据库资料

    2018-04-01 22:00:33
    分别:主键约束、外键约束、检查约束、默认约束和唯一性约束(唯一性约束将在后续课程中使用SQL语句实现)总结创建数据库表需要:确定表的列名、数据类型、是否允许为空,还需要确定主键、必要的默认值、标识和...
  • 理解什么是唯一性(unique)约束 掌握创建表时设置唯一性约束的方法 掌握修改表时添加唯一性约束的方法 掌握删除唯一性约束的方法 唯一性(unique)约束 唯一性约束用于指定一个或多个的组合具有唯一性,以...
  • 我正在尝试在oracle数据库上创建一个约束,该约束说明如下:如果column1 == someValue,则column2和column3的组合必须对于column1 == someValue的所有条目都是唯一的我熟悉unique和check约束的概念,并且我尝试用这些...
  • 数据库知识总结

    2021-06-14 16:46:04
    在关系数据库中,索引一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 作用: 快速取数据; ...
  • 一、索引 1.什么是索引 索引数据库表中一列或多列组合而成,其作用提高对表中数据的查询...如果组合索引,则列值的组合必须唯一; 3) 主键索引:一种特殊的唯一索引,一个表只能有一个主键,不允许有空值;
  • 数据库高频考点

    2021-02-24 12:49:43
    索引数据库表中一或多个进行排序的结构,帮助MySQL高效获取数据的数据结构。MySQL数据库几个基本的索引类型有:普通索引、唯一索引、主键索引、全文索引。 索引加快数据库的检索速度; 索引降低了插入...
  • 数据库索引知识

    2021-05-11 14:55:15
    一:数据库索引是什么?用于干嘛的?   索引是一种数据结构,并在表的上创建,包含一个表中,并且这些存储在一个数据结构中。(最常见的是B+Tree)。 数据库索引其实就是为了使查询数据效率快 二:...
  • MySQL数据库索引

    2021-03-13 10:39:30
    索引数据库表中一个或多个进行排序的结构,帮助MySQL高效获取数据的数据结构。 索引类似于书的目录,允许数据库程序不需要扫描整个数据库就可以迅速的找到想要的数据 索引是唯一的,创建索引可以允许...
  • Mysql数据库索引

    2020-07-01 17:00:50
    Mysql数据库索引 ...要插入的数据中username唯一索引,不允许有重复数据 解决方案 将唯一索引变为普通索引 mysql索引类型normal,unique,full text的是什么? unique表示普通索引 normal表示唯一的,不允

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 462
精华内容 184
关键字:

数据库列值唯一是什么