SQL 学习之一

数据库会话:

            connect(此时,会话被初始化,而且可能会有身份认证),disconnect和exit。退出的时候,会话结束,而且访问数据库的软件可能已经关闭。

SQL的命令的类型

        DDL:create /alter/drop table;create/alter/drop  index;create/drop  view.

              DML:   insert,delete,update.

              DQL:   select.

              DCL:    ALTER  PASSWORD,GRANT,REVOKE,CREATE  SYNONYM。

              数据管理命令:对操作进行分析,start /stop   audit。

              事务控制命令:commit,rollback,savepoint(为事务回退创建标记点),set  transaction(设置事务名称)。

表命名标准:

        注意后缀的使用,比如_tbl,_idx等等。

表的构成:

      字段,记录或者一行数据,列,主键,null值等。

数据类型:

       字符串:定长、变长、大对象类型(blob、text)。

          数值类型:bit(n)、  bit varying(n)、    decimal(s)、   integer、  smallint、  bigint、float(p,s)、numeric(s)、  real(s)、   double  precision(p,s)。p表示字段长度,s表示小数点后的位数。

          时间和日期类型:支持datetime数据类型,data,time,datetime(数据元素包含:year,month,day,hour,minute,second),timestamp。

          其他:直义字符串,NULL类型,bool值(返回true,false,null),自定义类型。

数据的主要存储方式是表:列和行(记录)。

创建表的语法:

                  create   table  table_name(

                                                                    col_name1        datatype       constraint,

                                                                    col_name2        datatype       constraint,

                                                                     ………………

                                                                     ………………

                                                                  );记得创建完后以分号结尾,注意表、列的命名规范。

       修改表:

         语法标准alter  table   table_name  [modify ]  [column  column_name] [data_type|| null  \not  null] [restrict   cascade]

                                                                                   [ drop   ]  [constraint    constraint  name ]

                                                                                   [ add    ] [column ]    column  definition.

         修改表的元素(修改列的属性,即数据类型,列长、有效位数、标度,是否可空);添加列;

             添加自动增长的列(serial 法);修改列。

             从现有表创建另外一表:利用create  table 和select语句的组合复制现有的表,新表有同样可选择的列定义:

             语法:create  table  new_table_name  as

                        select (*|column1,coumn2……)   from  table_name

                        [where]……;

       删除表:drop table table_name;

       完整性约束:主键约束,primary key;唯一性约束,unique;外键约束,foreign  key;not  null约束;检查约束;去除约束。

          语法:alter   table   table_name

                       add   constraint   constraint_name  primary/foreign  key/check    (prod_id   ,   vend_id)

                       reference    table_name(column_name);

                       alter   table  table_name    drop  constraint  constraint_name/primary key;     ‘/’ 后面的是快捷方式,可能不是很有用,两种方法选一个就行。

 

规格化过程(去除冗余):

                  数据库的逻辑设计:考虑终端用户的需求,比如保存什么数据,如何访问数据库,用户需要什么权限,数据如何分组,经常访问的数据是那些,数据正确性,减少冗余,访问简单化。数据冗余,应该尽可能的减少。

             规格形式:第一、第二、第三规格形式。

             规格化以后,对计算机性能的要求提高,比如CPU、I/O特性等等。规格化、去规格化是两个截然相反的过程,应该见仁见智。     


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值