teradata建表DDL

●是否允许重复记录
❍SET 不允许记录重复
CREATE SET TABLE table1 ...
❍MULTISET 允许记录重复
CREATE MULTISET TABLE table1 ...
●数据保护
数据保护要结合FALLBACK和JOURNAL (流水或日志)。

FALLBACK是Teradata的一种数据保护机制,数据表的每一条记录都同时存放两份,而且位于不同的AMP所控制的存储单元中;当数据发生问题或者AMP失败 时,可以利用存放在其他AMP上的数据保证对数据表的访问。
-FALLBACK 使用FALLBACK保护机制
-NO FALLBACK 不使用FALLBACK保护机制
日志有BEFORE和AFTER两种,分别保存了一条记录变化前后的状态。当系统出错时,可以利用日志进行恢复。
存储空间选项

DATABLOCKSIZE用来指定数据块大小,最小的数据块为6144字节,最大的数据块是32256字节。

FREESPACE用来定义在每个磁盘柱面上保留的空间(0-75%)。

例:

CREATE MULTISET TABLE table_1
, FALLBACK, NO JOURNAL
, FREESPACE = 10 PERCENT
, DATABLOCKSIZE = 16384 BYTES
(field1 INTEGER);

字段数据类型属性。可定义如下属性:
DEFAULT 当字段无数据时用默认值来替代NULL
WITH DEFAULT 用字段的系统默认值替换NULL
FORMAT 缺省的显示格式
TITLE 缺省的列标题
NOT NULL 不允许空值
CASESPECIFIC 字母大小写敏感
UPPERCASE 字母大小写不敏感,内部用大写字母存储
例:
CREATE TABLE emp_data
(employee_number INTEGER NOT NULL
,last_name CHAR(20) NOT NULL WITH DEFAULT
,street_address VARCHAR (30) TITLE ''Address'
,city CHAR (15) DEFAULT ''Boise'
,state CHAR (2) WITH DEFAULT
,birthdate DATE FORMAT''mm/dd/yyyy'
,salary_amount DEC(10,2)
,sex CHAR (1) UPPERCASE
);

数据存储属性。包括下面各项:

COMPRESS 压缩值为NULL的字段存储空间为0
COMPRESS NULL 同上
COMPRESS <constant> 压缩值为NULL和指定值的字段存储空间为0
例:
CREATE TABLE emp_data (employee_number INTEGER
,department_number INTEGER COMPRESS
CREATE TABLE bank_account_data (customer_id INTEGER
,account_type CHAR(10) COMPRESS ''SAVINGS'

Ÿ 字段约束定义。Teradata 支持字段级约束,即限制字段的值满足某些条件,如某个字段取值是否唯一、是否为主键或外键等。对字段的约束总结如下:

CONSTRAINT name 约束名称--可选
PRIMARY KEY 非空,无重复值
UNIQUE 无重复值
CHECK <布尔条件> 指定合法值的范围
REFERENCES 与其他字段的相关性(外键)

例:

CREATE TABLE employee_badge (emp_id INTEGER NOT NULL

CONSTRAINT primary_1 PRIMARY KEY

,id_badge_number INTEGER

CONSTRAINT unique_1 UNIQUE

,salary INTEGER

CONSTRAINT check_1 CHECK (salary>0)

,job_code INTEGER

CONSTRAINT ref_1 REFERENCES job (job_code)

);

如在上面的例子中,最后一项定义了在EMPLOYEE_BADGE表中的

JOB_CODE必须和JOB表中的JOB_CODE对应,即前一个表中该字段的值必须在第二个表中有对应的项。这实际上是一种所谓的参照完整性。另外要注意的是,具有主键(Primary Key)约束的字段一定要定义为非空(NOT NULL)。


11.² 删除表

可以使用DROP TABLE语句删除表,该语句将删除表中的所有数据和在数据字典中的表结构定义。

例:

删除前面例子中创建的雇员数据表。

DROP TABLE emp_data;

删除了表emp_data中的所有数据,并删除了emp_data在数据字典中的定义。如果希望在使用这个表,必须重新创建。

例:

DELETE FROM emp_data;

DELETE emp_data;

删除了表emp_data中的所有数据。表定义仍然存在,可以增加数据。

11.3修改表

当一个表已经创建后,可以使用ALTER TABLE语句来修改其定义。表定义的一些属性是不可修改的(如PI),如果要改变这些属性,常用方法是建立一个满足新属性的新表,然后使用Insert-Select语句把数据从原来的表转移到新表,然后再修 改新表的名称。

ALTER TABLE完整的语法可参见Teradata SQL手册,这里通过几个例子来加以说明。

例:增加或删除字段

ALTER TABLE emp_data
ADD educ_level CHAR(1), ADD insure_type SMALLINT;

ALTER TABLE emp_data
DROP educ_level, DROP insure_type;

例:修改已有字段的属性

ALTER TABLE emp_data
ADD birthdate FORMAT 'mmmBdd,Byyyy'';

例:对没有FALLBACK的表建立FALLBACK保护

ALTER TABLE emp_data, FALLBACK;

例:同时修改表的多个属性

ALTER TABLE emp_data
, NO FALLBACK
DROP insure_type
, ADD educ_level CHAR(1);

例:修改约束定义

增加约束

ALTER TABLE emp_data ADD CONSTRAINT
CHECK (sex = 'F' OR sex = 'M');

修改约束:

ALTER TABLE emp_data
MODIFY CONSTRAINT sal_range
CHECK ( salary_amount > 0 AND salary_amount < 1000000);

注意:表中已有数据如果不符合新的约束条件,约束的增加或修改不能成
功。

删除约束:

ALTER TABLE emp_data
DROP CONSTRAINT sal_range;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • ORACLE自学教程 --create tabletestone ( id number, --序号usernam...
    落叶寂聊阅读 1,066评论 0 0
  • 第一天 7月13日OCP笔记: Oracle Ocp11g准备资料: OracleFundmentals 书 管理...
    fjxCode阅读 2,797评论 0 4
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 7,777评论 5 116
  • 好词:猛然、悲惨、训斥、羞耻、绝望之渊、结结巴巴、心神不宁、滔滔不绝、孤苦伶仃、心灰意冷、摇拽、世外桃源、春光明媚...
    朋吧阅读 405评论 0 0
  • 今夜 他将月亮抱在怀中 神色安然 就像抱着一个姑娘 月亮紧挨着胸膛 冷冷的光侵入身躯 他却感到异常温暖
    隔岸1216阅读 226评论 0 1