精华内容
下载资源
问答
  • 数据库模式定义与基本表定义

    千次阅读 2018-07-27 00:15:35
  • 如何MySQL数据库中定义外键

    千次阅读 2009-02-15 19:29:00
    定义数据假如某个电脑生产商,它的数据库中保存着整机和配件的产品信息。用来保存整机产品信息的叫做pc;用来保存配件供货信息的叫做parts。pc表中有一个字段,用来描述这款电脑所使用的CPU型号;parts...

    本文给出了MySQL数据库定义外键的必要性、具体的定义步骤和相关的一些基本操作,供大家参考!

    定义数据表

    假如某个电脑生产商,它的数据库中保存着整机和配件的产品信息。用来保存整机产品信息的表叫做pc;用来保存配件供货信息的表叫做parts。

    在pc表中有一个字段,用来描述这款电脑所使用的CPU型号;在parts表中相应有一个字段,描述的正是CPU的型号,我们可以把它想成是全部CPU的型号列表。

    很显然,这个厂家生产的电脑,其使用的CPU一定是供货信息表(parts)中存在的型号。这时,两个表中就存在一种约束关系(constraint)——pc表中的CPU型号受到parts表中型号的约束。

    首先我们来创建parts表:

     

    CREATE TABLE parts (
    ... 字段定义 ...,
    model VARCHAR(20) NOT NULL,
    ... 字段定义 ...
    );

    接下来是PC表:

     

    CREATE TABLE pc (
    ... 字段定义 ...,
    cpumodel VARCHAR(20) NOT NULL,
    ... 字段定义 ...
    };

    设置索引

    若要设置外键,在参照表 (referencing table,即pc表) 和被参照表(referenced table,即parts表)中,相对应的两个字段必须都设置索引(index)。

    对parts表:

     

    ALTER TABLE parts ADD INDEX idx_model (model);

    这句话的意思是,为parts表增加一个索引,索引建立在model字段上,给这个索引起个名字叫idx_model。

    对pc表也类似:

     

    ALTER TABLE pc ADD INDEX idx_cpumodel (cpumodel);

    事实上这两个索引可以在创建表的时候就设置。这里只是为了突出其必要性。

    定义外键

    下面为两张表之间建立前面所述的那种“约束”。因为pc的CPU型号必须参照parts表中的相应型号,所以我们将pc表的cpumodel字段设置为“外键”(FOREIGN KEY),即这个键的参照值来自于其他表。

     

    ALTER TABLE pc ADD CONSTRAINT fk_cpu_model
    FOREIGN KEY (cpumodel)
    REFERENCES parts(model);

    第一行是说要为pc表设置外键,给这个外键起一个名字叫做fk_cpu_model;第二行是说将本表的cpumodel字段设置为外键;第三行是说这个外键受到的约束来自于parts表的model字段。

    这样,我们的外键就搞好了!如果我们试着CREATE一台pc,它所使用的CPU的型号是parts 表中不存在的,那么MySQL会禁止这台PC被CREATE出来。

    级联操作

    考虑以下这种情况:

    技术人 员发现,一个月之前输入到parts表中的某个系列的cpu(可能有很多款)的型号全都输错了一个字母,现在需要改正。我们希望的是,当 parts表中那些 Referenced Column 有所变化时,相应表中的 Referencing Column 也能自动更正。

    可以在定义外键的时候,在最后加入这样的关键字:

     

    ON UPDATE CASCADE;

    即在主表更新时,子表(们)产生连锁更新动作,似乎有些人喜欢把这个叫“级联”操作。

    如果把这语句完整的写出来,就是:

     

    ALTER TABLE pc ADD CONSTRAINT fk_cpu_model
    FOREIGN KEY (cpumodel)
    REFERENCES parts(model)
    ON UPDATE CASCADE;

    除了CASCADE外,还有RESTRICT(禁止主表变更)、SET NULL(子表相应字段设置为空)等操作。

    展开全文
  • 在数据库中定义性别的数据类型是smallint,那么model中定义是 int sex,还是short sex
  • 1.对单属性构成的码有两种说明方法,一种是定义为列级约束条件,另一种是定义级约束条件,如1.1单属性列级定义主键CREATE TABLE Student ( Sno CHAR(9) PRIMARY KEY, /*列级定义主键*/ Sname CHAR(20) )1.2单属性...

    1.对单属性构成的码有两种说明方法,一种是定义为列级约束条件,另一种是定义为表级约束条件,如

    1.1单属性列级定义主键

    CREATE TABLE Student(
    Sno CHAR(9) PRIMARY KEY,  /*列级定义主键*/
    Sname CHAR(20)
    )

    1.2单属性表记定义主键

    CREATE TABLE Student
    (
    Sno CHAR(9),
    Sname CHAR(20),
    PRIMARY KEY (Sno) /*表级定义主键*/
    )

    2.对于多属性构成的码只有一种说明方法,即定义为表级约束条件,如

    CREATE TABLE SC
    (
    Sno CHAR(9) NOT NULL,
    Cno CHAR(4) NOT NULL,
    PRIMARY KEY(Sno,Cno) /*表级定义主键*/
    )
    


    展开全文
  • 经纬度的定义使用 deciaml , Java 中映射成double。 基于百度地图的经纬度识别工具。

    经纬度的定义使用 deciaml , 在Java 中映射成double。

    基于百度地图的经纬度识别工具。


    展开全文
  • SQL2008如何建立数据库定义文件流FILESTREAM?一、全新安装数据库定义文件流FILESTREAM: 首先安装SQL2008开发版,序列号是,安装时启用FILESTREAM选项。 安装完成后windows资源管理器的系统盘新建目录...
  • 知识点:数据库表的相关概念、创建数据库表的方法、设计数据库表、向数据库表中插入数据、建立不同数据库表之间的关系、删除数据库表。 1、数据相关的一些概念 1.1 数据库里的数据是如何保存的? 数据库...
  • 实际开发,是否会在数据库表中设置外键?

    千次阅读 多人点赞 2017-08-01 09:21:17
    本科学习数据库的时候,书上明确的写了对于多对多关系必须要创建外键,可是最近跟师兄做一个B/S架构的项目,发现所设计的数据库表虽然是多对多关系但并没有要求外键,查了一下之后才发现目前的大型系统(尤其是...
  • 数据库-定义与操作

    千次阅读 2019-03-17 15:50:59
    数据类型 char(n) 长度为n的定长字符串 varchar(n) 最大长度为n的可变长字符串 int 长整数(4字节) bigint 大整数 (8字节) boolean 逻辑布尔量 date 日期, 包含年月日...建立基本 CREATE TABLE USERS ( Ul...
  • 项目设计数据库表时是否需要在表中加备用预留字段? 背景:以前做项目,有用过SSH框架,或者SSM框架,数据库有Oracle,DB2。在开发过程,有时因数据库设计者未考虑周到,业务实体有一个属性没有对应的字段,因此...
  • golang的开发过程,当我们使用orm的时候,常常需要将数据库表对应到golang的一个struct,这些struct会携带orm对应的tag,就像下面的struct定义一样: type InsInfo struct { Connections string `gorm:"column:...
  • 上篇博文提到:关系数据库... 本篇博文主要介绍使用相关的SQL语句实现数据库模式、和索引的定义,关于视图定义以后的博文另行介绍。 下所使罗列了SQL标准所提供的数据定义语句。 操作对象 创...
  • 数据库实验报告1数据库定义实验

    千次阅读 2020-04-29 11:18:58
    一、 实验目的: (1)理解和掌握数据库DDL语言,...教材3.3数据定义中例3.1至例3.11的要求操作,并截取相应的结果图 1、定义模式 模式定义语句:CREATE SCHEMA <模式名> AUTHORIZATION <用户名> 【例3....
  • ** SQL Server创建数据库School,然后数据库中创建一个名为Students, 详细字段定义所示。并编程添加6条记录。 **
  • # 导入: from sqlalchemy import Column, String, create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base # 创建对象的基类: ...# 定义Us...
  • 数据库基本定义、删除及修改

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

    千次阅读 2020-02-24 16:43:31
    数据库:长期存储计算机内、有组织的、可共享的大量数据的集合。 数据库管理系统:位于用户和操作系统之间的一层数据管理软件。 数据库系统:是由数据库及其管理软件组成的系统。 个人理解:数据库指的是一些数据...
  • 数据库表结构

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

    千次阅读 2018-08-09 21:40:08
    定义属性 概述 ·django根据属性的类型确定以下信息 ·当前选择的数据库支持字段的类型 ·渲染管理表单时使用的默认html控件 ·管理站点最低限度的验证 ·django会为增加自动增长的主键列,每个模型只能...
  • 1、模式的定义(SQL)or 数据库的创建(mysql语言) 2、模式的删除(SQL)or 数据库的删除(mysql语言) 三、定义、删除与修改 1、 1.1定义 1.2的删除 1.3的修改 2、数据类型 3、索引 一、本...
  • 如何查询postgreSQL 里面某个数据库中所有用户定义的数据的名字 @forandever 2011-11-13 1、通过命令行查询 \d 数据库 —— 得到所有的名字 \d 表名 —— 得到结构   2、通过SQL语句查询 ...
  • Oracle数据库中Schema的定义

    千次阅读 2014-03-15 18:46:13
    定义中我们可以看出方案(Schema)为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个...
  • MySQL数据库表约束

    千次阅读 多人点赞 2018-01-16 14:48:27
    为了防止往数据表中插入错误的数据,MySQL定义了一些维护数据库完整性的规则,即的约束。 常见的的约束:    上表列举的约束条件都是针对表中字段进行限制, 从而保证数据表中数据的正确性和...
  • 实验1数据库定义实验

    千次阅读 2020-05-04 21:11:59
    一、实验 1.1 数据库定义实验 (一)实验目的 理解和掌握数据库 DDL 语言,能够熟练地使用 SQL DDL 语句创建、修改和 删除数据库、模式和基本。 (二)实验内容和要求 理解和掌握 SQL DDL 语句的语法,特别是各种...
  • flowable 数据库表结构

    万次阅读 2019-08-22 13:53:42
    flowable 数据库表(一共70...带此前缀的包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。 ACT_RU_* ’RU’表示runtime。(15张表)这是运行时的存储着流程变量,用户任务,变量,职责(job)等...
  • 数据库外键定义的一个可选项,用来设置当主键表中的被参考列的数据发生变化时,外键表中响应字段的变换规则的。 update 是主键表中被参考字段的值更新,delete则是指主键表中删除一条记录: on update 和 on ...
  • declare @F_Money varchar(30) declare Cur1_Bill cursor for select b.F_Money from "Table" ...fetch next from Cur1_Bill into @F_...@F_Money 就是数据Table取出的值可以存储过程使用。  
  • 数据库中的Schema是什么?

    万次阅读 多人点赞 2018-01-10 13:14:35
    在数据库中,schema(发音 “skee-muh” 或者“skee-mah”,中文叫模式)是数据库的组织和结构,schemas andschemata都可以作为复数形式。模式包含了schema对象,可以是(table)、列(column)、数据类型(data type...
  • 数据库表命名规范

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

    万次阅读 2018-12-11 10:55:18
    flowable数据库表说明1. flowable数据库表命名规则2....带此前缀的包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。 ACT_RU_* ’RU’表示runtime。这是运行时的存储着流程变量,用户任务,变量...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,533,743
精华内容 613,497
关键字:

在数据库的表定义中