- 1、本文档共84页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]数据类型和索引和表
组长:韩立娜 汇报人:于思会 组员:韩立娜 于思会 刘述玲 程雁春 桓国艳 赵晴晴 Oracle数据库中常用的基本数据类型 Sqlserver数据库中常用的数据类型 数据类型指定列、存储过程参数及局部变量的数据特性 数据按照数据类型存储在列中 系统数据类型:系统数据类型是 SQL Server 支持的内置数据类型 用户定义的数据类型:用户根据系统数据类型自己定义的数据类型 系统数据类型 (1) 系统数据类型 (2) 系统数据类型 (3) 系统数据类型 (4) 系统数据类型 (5) 系统数据类型 (6) 系统数据类型 (7) 系统数据类型 (8) 用户定义的数据类型特性 使用系统数据类型定义 具有预定义长度 指定其中是否可存储 null 值 指定是否必须赋予默认值 指定是否要应用现有规则 管理用户定义的数据类型 (1) sp_addtype [@typename =] type, ????[@phystype =] system_data_type ????[, [@nulltype =] null_type] 管理用户定义的数据类型 (2) 参数: [@typename =] type 用户定义数据类型的名称。数据类型名称必须遵循标识符规则,并且在每个数据库中必须是唯一的。type 是sysname,无默认值。 [@phystype =] system_data_type 物理或 SQL Server 提供的数据类型(decimal、int 等),用户定义的数据类型即基于该类型。system_data_type 是 sysname,无默认值。 [@nulltype =] ‘null_type’ 指定必须如何处理 null 值。null_type 是 varchar(8),设置值为 ‘NULL’(默认)、‘NOT NULL’ 或 ‘NONULL’ Access数据库常用数据类型 2. 字段的数据类型 5. 选择数据类型时应注意的问题 3.3.3 索引的建立和删除 建立索引是加快查询速度的有效手段 建立索引 DBA或表的属主(即建立表的人)根据需要建立 有些DBMS自动建立以下的索引 PRIMARY KEY UNIQUE 一、建立索引 语句格式 CREATE [UNIQUE] INDEX 索引名 ON 表名(字段[次序][,字段[次序] ]…); 用表名指定要建索引的基本表名字 索引可以建立在该表的一列或多列上,各列名之间用逗号分隔 用次序指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASC UNIQUE表明此索引的每一个索引值只对应唯一的数据记录 例题 [例14] 为学生-课程数据库中的Student,Course两个表建立索引。其中Student表按姓名升序建索引,Course表按课程名称降序建唯一索引。 CREATE INDEX stu_sname_index ON Student(S_name); CREATE UNIQUE INDEX course_cname_index ON Course(C_name desc); ㈡ 删除索引 DROP INDEX 索引名; 删除索引时,系统会从数据字典中删去有关该索引的描述。 [例15] 删除Student表的stu_sname_index索引。 DROP INDEX stu_sname_index; 注意:主键索引不能被删除;删除主键约束时,主键索引会被自动删除。 3.4.1 单表查询 查询仅涉及一个表,是一种最简单的查询操作 一、选择表中的若干列 二、选择表中的若干元组 三、order by 子句 四、聚集函数(aggregate functions) 五、group by 子句 一、选择表中的若干列 1.查询指定列 [例1] 查询全体学生的学号与姓名。 SELECT Sno,Sname FROM Student;? ? [例2] 查询全体学生的姓名、学号、所在系。 SELECT Sname,Sno,Sdept FROM Student; 2.查询全部列 [例3] 查询全体学生的详细记录。 SELECT Sno,Sname,Ssex,SBirthday,Sdept FROM Student; 或 SELECT * FROM Student; 3. 查询经过计算的值 SELECT子句的目标列表达式为表达式 算术表达式 字符串常量 函数 列别名 等 3. 查询经过计算的值 [例4] 查全体学生的姓名及其年龄。 SELECT Sname,Ceil((SysDate-Sbirthday)/365) FROM Student;? 输出结果:
文档评论(0)