精华内容
下载资源
问答
  • 数据库主码、外

    万次阅读 多人点赞 2016-12-28 10:42:18
    主码和外是用来实现参照完整性的,外的数据项需参照主码的数据项来操作。具体实现是在创建数据库时为间创立关系。如:  三个关系: 学生信息(学号、姓名、性别、出生年月、籍贯、所属学院) //学号 是...

                                                                             数据库主码、外码

    主码和外码是用来实现参照完整性的,外码的数据项需参照主码的数据项来操作。具体实现是在创建数据库时为表间创立关系。如: 

    三个关系:
    学生信息表(学号、姓名、性别、出生年月、籍贯、所属学院) //学号 是主键(主码
    课程表(课程号,课程名称,学分) //课程号 是主键(主码
    成绩表(学号,课程号,成绩) //学号 是外码;课程号 是外码

    “成绩表”(从表)的学号参照“学生信息表”(主表)的学号来录入。1、也就是主表里面没有的学号,从表里面不能有,外码参照主码录入;2、级联操作,即当删除、修改某个主表里面的学号时,从表里面的那个学号会相应的自动删除、修改。外码参照主码操作。
    展开全文
  • 删除被参照关系的某个元组而参照关系有若干元组的外码值与被删除被参照关系的码值相同 ...当参照关系没有任何元组的外码值与要删除被参照关系的元组的码值相对应时,系统才执行删除操作,...

    删除被参照关系的某个元组而参照关系有若干元组的外码值与被删除的被参照关系的主码值相同

    即一张表的某个记录,被另一张表的一个或多个记录通过外键的方式关联,当要删除该记录时,可以采取以下三种策略:

    1.级联删除

    将参照关系中外码值与被参照关系中要删除元组主码值相对应的元组一起删除。

    2.受限删除

    当参照关系中没有任何元组的外码值与要删除的被参照关系的元组的主码值相对应时,系统才执行删除操作,否则拒绝此删除操作

    3.置空值删除

    删除被参照关系的元组,并将参照关系中与 被参照关系中被删除元组主码值相等的外码 值置为空值。

    以上三种策略,正确与否,要根据具体的业务需求定。

    展开全文
  • 和完整性约束 的定义以及完整性约束的...码(关键字,PRIMARY KEY__PK),在码中选择的一个代表,定义为码的特点: 1、码value不得为空 2、构成码的每个字段不得重复 属性是构成码的属性 ...

    表和完整性约束

    • 表的定义以及完整性约束的定义
      • 定义列
      • 定义计算列
      • 定义主关键字(实体完整性约束)
      • 定义外部关键字(参照完整性约束)
        • 删除约束 、更新约束
      • 定义普通约束(用户定义完整性)
      • 表级约束

    主码

    主码(主关键字,PRIMARY KEY__PK),在码中选择的一个代表,被定义为主码
    主码的特点:
    1、主码value不得为空
    2、构成主码的每个字段不得重复
    主属性是构成码的属性
    主码属性是构成主码的属性

    外码

    外码(Foreign key__FK),设有关系表R和W,R中的某个字段FK与W中的主码PK对应,则FK成为W的外码。
    外码定义了两个表之间的约束关系,W为主表(被参照表),R为从表(参照表)。

    范式描述

    1.关键字
    2.语法概念
    3.元语言符号:[] {} |
    4.() 实际符号

    表的定义

    • 定义表时,约束条件(完整性约束)分为两种:
      • 对某个字段的约束,成为字段的完整性约束
      • 对整个表的约束,被称为整个表的完整性约束

    字段的完整性约束也可以定义成表的完整性约束

    • 一个表由若干列构成,在SQL Server中可以
      • 定义实列(简称列,column_definiton)
      • 定义虚列(即计算列,computed_column_definition)

    列的定义

    UNIQUE :唯一
    若一个字段定义了UNIQUE字段,该字段值不允许重复,但可以为多个null

    CHECK
    如:CHECK(grade>=0 AND grade<=100)

    DEFAULT
    设置默认值

    ON DELETE CASCADE / ON UPDATE CASCADE
    当被参照记录即被参照表被删除/修改时级联删除参照表即从表的记录。

    修改表结构

    • 修改表结构
      • 修改列定义
      • 增加新列(含计算列)
      • 增加表级约束
      • 删除列
      • 删除约束

    ALTER TABLE

    • 增加字段
    • 删除字段
    • 修改字段类型
    • 增加约束
    • 删除约束

    课程作业:

    USE 学校管理
    GO
    CREATE SCHEMA 学校
    GO
    CREATE TABLE 学校.院系(
    编号 INT PRIMARY KEY,
    名称 VARCHAR(20) NOT NULL UNIQUE,
    负责人 VARCHAR(10),
    办公地点 VARCHAR(20)
    )
    GO
    CREATE TABLE 学校.学生(
    学号 VARCHAR(8) PRIMARY KEY,
    姓名 VARCHAR(10) NOT NULL,
    院系 INT FOREIGN KEY REFERENCES 学校.院系(编号),
    性别 VARCHAR(2) CHECK (性别 IN ('男' ,'女') ),
    生源 VARCHAR(6),
    状态 VARCHAR(4) CHECK (状态 IN ('正常','留级','休学','退学') )
    )
    GO
    CREATE TABLE 学校.教师(
    教师编号 VARCHAR(8) PRIMARY KEY,
    姓名 VARCHAR(10) NOT NULL,
    性别 VARCHAR(2) CHECK(性别 IN ('男','女')),
    院系 INT FOREIGN KEY REFERENCES 学校.院系(编号),
    专业 VARCHAR(10),
    职称	VARCHAR(6) CHECK(职称 IN('教授','副教授','讲师','助教'))
    )
    GO
    CREATE TABLE 学校.课程(
    课程编号 VARCHAR(8) PRIMARY KEY,
    课程名称 VARCHAR(20) NOT NULL,
    责任教师 VARCHAR(8) FOREIGN KEY REFERENCES 学校.教师(教师编号),
    学时 INT NOT NULL,
    课程性质 VARCHAR(10) CHECK(课程性质 IN ('公共基础','专业基础','专业选修','任意选修'))
    )
    GO
    CREATE TABLE 学校.选课(
    学号 VARCHAR(8) FOREIGN KEY REFERENCES 学校.学生(学号),
    课程编号 VARCHAR(8) FOREIGN KEY REFERENCES 学校.课程(课程编号),
    考试成绩 INT CHECK(考试成绩>=0 AND 考试成绩<=100) DEFAULT NULL
    )
    
    ALTER TABLE 学校.学生
    ADD 平均成绩 INT DEFAULT NULL
    
    ALTER TABLE 学校.课程
    DROP COLUMN 学时
    
    ALTER TABLE 学校.课程
    ADD 学时 INT NOT NULL CHECK(学时%8=0)
    
    ALTER TABLE 学校.院系
    ALTER COLUMN 名称 VARCHAR(30)
    
    ALTER TABLE 学校.教师
    ADD 工资 NUMERIC(7,2)
    
    展开全文
  • 数据库中删除表中主键约束时出现错误的原因及解决方法 #问题描述: 今天在对MYSQL数据库进行基本操作——删除表中的主键约束时发现不能删除表中的主键约束: 下面是三张表之间的关系: 原因 个人理解外键约束是...

    数据库中删除表中主键约束时出现错误的原因及解决方法

    #问题描述:
    今天在对MYSQL数据库进行基本操作——删除表中的主键约束时发现不能删除表中的主键约束:
    在这里插入图片描述
    下面是三张表之间的关系:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    原因

    个人理解外键约束是表与表之间的“联系”,sc表中的外键约束添加时参考了 student表的sno和course表中的cno,而(sno,cno)又是sc表的主键约束。这种情况下删除主键约束就会导致前面所说的错误。所以要先删除sc中的外键约束,才能再删除主键约束。
    在这里插入图片描述
    再次验证一下:
    在这里插入图片描述
    这次只将sno设为主键约束
    在这里插入图片描述把cno设置为外键约束
    再次删除主键约束,发现成功删除:
    在这里插入图片描述
    本人数据库小白,若有什么说得不对的地方,希望大家指出来交流学习。

    展开全文
  • 2021年前端面试题及答案

    万次阅读 多人点赞 2020-02-11 19:29:34
    sessionStorage 的数据在浏览器关闭后自动删除 表单控件,calendar、date、time、email、url、search 新的技术webworker, websocket, Geolocation 移除元素: 纯表现的元素:basefont,big,center,font, s,...
  • 【数据库学习】数据库总结

    万次阅读 多人点赞 2018-07-26 13:26:41
    比如学生主码通常是取学号为主码 参照完整性 是指参照关系每个元素的外要么为空(NULL),要么等于被参照关系某个元素的主码参照关系也称为外键被参照关系也称为主键。 用户定义的完整性 指对关系...
  • 主码3. 外关系的完整性总结 关系的 1. 候选 候选是能够唯一标识关系某一个元组的一个属性或属性集,也叫候选键 如: 学生关系,学号可以唯一标识学生,班级+姓名也可以唯一标识一个学生,学号和...
  • 数据库面试

    千次阅读 多人点赞 2019-02-13 09:03:42
    一、数据库问答题 1. SQL语言包括哪些类型? 数据定义DDL:Create Table,Alter Table,Drop Table, Create/Drop Index等 ...内连接是保证两个表中所有的行都要满足连接条件,而外连接则不然。 在外连接...
  • 前端面试锦集

    千次阅读 多人点赞 2019-07-20 13:41:45
    状态有哪些 作用是什么 404 401 400 500 200 302等 ajax请求实现的过程: AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不...
  • 《数据库原理》— 数据库系统概论第五版习题解析

    万次阅读 多人点赞 2017-05-29 14:57:48
    数据库系统概论前七章习题解析 第1章绪论 1.试述数据、数据库、数据库系统、数据库管理系统的概念...早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学的数据。现代计算机能存储和...
  • 我们一般设置数据库的外键时,都是在创建的时候设置的,一般都是: create table student(id int primary key auto_increment, name char(24), m_id int, foreign key(m_id) references class(id) ); 不会...
  • 基于《数据库系统概论》和《数据库系统概念》,阐述了数据库的参照完整性及其相关概念并基于MySQL数据库和SQL语言进行实现
  • 码(Primary Key):从多个候选码中选择一个作为查询、插入或删除元组的操作变量,选用的候选码称为关系码(主键,码,关系键,关键字) 每个关系必定有且仅有一个码,选定后不能重复! 相关概念 属性...
  • 定义:从多个候选码中选择一个作为查询、插入、删除元组的操作变量,选用的候选码称为关系码(主键,码,关系键,关键字) 每个关系必定有且只有一个码,选择后不能重复。 关系的属性 属性(Prime At....
  • mysql

    千次阅读 2016-03-31 21:54:36
    mysql的超级用户root 连接数据库  mysql -uroot -h主机名 -p密码  连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车) 创建授权:
  • XAMPP安装配置(最)详细教程图解

    万次阅读 多人点赞 2019-10-03 23:49:34
    XAMPP ... 文章目录 XAMPP 一 、XAMPP 简介 二、Xampp安装及使用 三、 XAMPP 控制面板 ...3. 参照上文 XAMPP 安装和配置完成后,我们就可以安装 Dreamweaver 等网页程序编辑软件,进行网页编程测试了。
  • 数据库基本的定义、删除及修改

    千次阅读 2019-05-21 15:30:50
    1.定义基本 创建了一个模式即建立了一个数据库的命名空间,一个框架。SQL语言使用create table语句定义基本,格式如下: create table <表名>(<列名><数据类型>[列级完整性约束条件] [,&...
  • 关系的候选主码、外以及关系的完整性

    千次阅读 多人点赞 2020-05-26 17:34:40
    定义:从多个候选键中选择一个作为查询、插入或删除元组的操作变量,选用的候选码称为关系码(主键,码,关系键,关键字)。 属性和非属性 属性:包含在主码中的各个属性称为属性 非属性:不包含在...
  • alter table 表名 add CONSTRAINT 约束名 foreign key (外字段名) references 被参照表的表名(被参照主码名); 如果添加约束的时候失败,可能的原因是:外字段的值 与 被参照主码的值 不一致。 解决办法:1...
  • 之间可以通过外键...物品用到了学生的id作为自己的外键,删除时不能先删除学生的数据,因为其可能在引用,程序会出现报错:如下 Cannot delete or update a parent row: a foreign key constraint f...
  • 作用:当增加、修改或删除数据库表中记录时,可以借助参照完整性来保证相关联之间数据的一致性 。假设现在有一个学生A(学号,姓名、年龄),以学号为它的主键(主键即能唯一标示一条记录的属性),一个课程B...
  • 关系的完整性-参照完整性

    千次阅读 2019-06-29 10:30:44
    (首先理解弄透实体完整性,实体完整性规则是最好... 定义:设F是基本关系的一个或一组属性,但不是关系R的(如果某张表多个属性作为主码,那么这里的主码不能理解为单个属性,这也是和主属性的区别),Ks是基...
  • sql基本的定义,删除与修改

    千次阅读 2019-09-23 12:15:48
    sql基本的定义,删除与修改 一 定义基本 ... sno char(9) primary key, /*列级完整性约束条件,sno是主码*/ sname char(20) unique, /*sname取唯一值*/ ssex char(2), sage smallint, sdept char(20...
  • 主键、外键,主表、从表

    千次阅读 2017-02-17 10:59:35
    关键字是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。 又可称为主键、主码,其列不能包含空值。 关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句定义。   3.公共关键字...
  • 《数据库系统概论》复习

    千次阅读 多人点赞 2019-05-27 12:13:27
    《数据库系统概论》复习 ...数据库的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。概括地讲,数据库数据具有永久储存、有组织和可共...
  • 触发器实现两常见操作 首先看两张的sql(简化代码) 学生成绩管理系统的用户(包括三类成员:管理员、学生、教室,包含用户名、密码和用户类型三个字段)下面以学生为例: CREATE TABLE [dbo].[membership...
  • 定义参照完整性

    千次阅读 2020-03-31 22:32:54
    定义参照完整性的概念: 现实世界的实体之间往往存在着某种联系,在关系模型实体及实体之间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。 例如:学生实体和专业实体可以用下面的关系模式表示,...
  • ❤️ 关系数据结构及形式化定义 1.笛卡尔积:当做一个来说,就是一行是一个元组,一列是一个域,是域的基数的相乘 2.关系:一张规范的二维 ...7.候选:关系的某一属性组的值能唯一地标识一个元组,而子集...
  • 视图是虚,在数据库只存储视图定义(物化视图除外),通过视图可以查询、更新基本表中的数据;索引主要用于提高存取效率。通过本次实验,可以掌握基本、视图、索引在数据库的基本管理方法。 实验要求 熟悉...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,694
精华内容 20,677
关键字:

删除被参照表中的主码