SQL Server 2000 数据库入门.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
5.1 掌握Power Scrip语言 5.2 使用控件 实训五 控件应用
第四章 数据库管理和使用.
目 录 第 1 章 数据库技术基础 第 2 章 SQL Server基础 第 3 章 数据库管理 第 4 章 查询和视图
關聯查詢.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
第2讲 Transact-SQL语言.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
第7章 数据库基础知识 SQL常用命令使用方法 (1) 数据记录筛选: sql="select * from 数据表
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
文科计算机小公共课规划教材 Access 程序设计.
Chap 13 視界與資料庫程式設計.
第6章 資料庫管理系統 6-1 關聯式資料庫管理系統 6-2 SQL Server資料庫管理系統
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
資料庫設計 Database Design.
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机应用基础 上海大学计算中心.
第3章 数据查询与SQL命令.
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
第五讲 利用视图进行查询优化.
關聯式資料庫.
Access 2007 進銷存管理系統實作 文魁資訊股份有限公司.
9 SELECT敘述的進階查詢 9-1 SQL的多資料表查詢 9-2 合併查詢 9-3 集合運算查詢 9-4 子查詢
課程名稱:資料庫系統 授課老師:李春雄 博士
PHP與MySQL 入門學習指南 凱文瑞克 著 第 23 章 資料型別.
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
Microsoft SQL Server 2000 李金双.
資料庫安全 (Database Security)
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
課程名稱:資料庫系統 授課老師:李春雄 博士
第4章(2) 空间数据库 —关系数据库 北京建筑工程学院 王文宇.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
第7章 ADO.NET操作SQL Server数据库
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
5 数据库管理与保护 数据库运行的最小逻辑工作单位是事务,所有对数据库的操作,都以事务作为一个整体来执行或撤销。
第9章 SQL Server的数据库保护技术 教学目标:通过本章学习,了解SQL Server的安全体系结构的含义和安全认证模式的分类;掌握SQL Server登录账号、用户账号及角色的创建方法;熟悉权限的分类,掌握对象权限和语句权限的管理方法;明确SQL Server中数据完整性的种类,掌握数据完整性实现的具体方法;熟悉SQL.
第九章 進階的查詢技巧.
SQL SERVER 一些经典语句 1.
医院职工公费医疗系统.
第十二章 SQL語言簡介 講授大綱: 新增資料庫 新增資料表 新增資料 修改資料 刪除資料 查詢資料 透視ASP.NET-第12章
Ch4.SQL Server 2005資料庫組成員元件介紹
iRepor报表设计基础 IReport安装 普通实体报表 数据结果集报表 工作流主从报表 饼状图报表 柱状图,曲线图报表 条形码报表
数据库应用技术 SQL Server 2005.
数据库技术与应用.
MySQL开发规范 DB组-张浩.
第11章 ListView延迟加载效果 授课老师:高成珍 QQ号: QQ群: 、
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
第九章 创建数据库.
4.2 视图 (1) 视图是一个虚拟表,其内容来自对表查询的基础上。
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
查询与视图 蔡海洋.
SQL查询语句 蔡海洋.
17 交易處理與鎖定 17-1 交易的基礎 17-2 交易處理 17-3 並行控制 17-4 資料鎖定 17-5 死結問題.
第三章 SQL Server数据管理.
第4章 表的创建与维护 4.1 数据类型 4.2 数据完整性约束 4.3 创建数据表 4.4 修改数据表 4.5 删除数据表.
8 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
第4章 数据查询.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

SQL Server 2000 数据库入门

SQL Server 2000 MS 数据库管理系统 组成: 系统database 程序: 用户界面,工具 数据结构:管理和存储数据 Master Pubs tempDB 数据库入门

SQL Server数据库 管理、存储和访问数据 Database 包含: 对应文件: .mdf, .ldf 包含: Table, View, Index, Store Procedure, Trigger, etc. 数据库入门

SQL 2000管理工具 2018/11/28 数据库入门

创建database 右键-〉新建数据库 输入数据库名: test 包含: 及对应物理文件: 数据文件: test_Data 事务日志文件:test_Log 及对应物理文件: .mdf, .ldf 数据库入门

表 Table Table: 表是包含数据库中所有数据的数据库对象。 表结构: Column 列(字段)的集合 每行是一条记录。 表的定义: 列名 , 数据类型, 初始值, 是否允许空 约束规则,索引, 主键, 外键 数据库入门

建新表 右键-> 新建表 列名, 数据类型,长度,允许空 类型:整数:bigInt: 64 bits Int: 32bits,dec, Numeric, Money Datetime Char, VarChar, Nvarchar Text, Image 默认值 自动增长( + 1) RowGUID 数据库入门

主键、外键、 关系: 引用 索引:Index,查找快速 例如:部门, 职员 主键(PK): 唯一标示数据, 数据完整性,主键索引,查找快速 外键(FK):表与表之间的链接,数据完整性、一致性 索引:Index,查找快速 例如:部门, 职员 数据库入门

视图 View 虚拟表, 由查询定义, 包含行、列,View数据并不真正存在在View中, 通过查询其它数据源(数据表、视图、其他数据库、其他服务器)而来。 2018/11/28 数据库入门

存储过程 Stored Procedure Stored Procedure 优点: 运行在SQL Server服务器方 类似子程序模块 /* ---- Stored Procedure: sp_backupmessage ---- Get backup file message ---- by You jianshe 2003-2-14 ---- */ CREATE PROC sp_backupmessage @as_filename VARCHAR(200) as Restore HEADERONLY FROM DISK = @as_filename GO Stored Procedure 运行在SQL Server服务器方 类似子程序模块 可以输入、输出参数 包含数据库操作语句( or call SP ) Return value 编程语言:Transact-SQL 优点: 模块化设计、创建一次,重复使用, 后台运行,速度更快 网络流量减少, 安全 数据库入门

触发器Trigger 一种特殊SP, 在指定表的数据发生变化时自动生效,即被调用、被执行。(Insert, Update, Delete时) 目的:强制业务规则和数据完整性 Trigger: Transact-SQL语法, (简单或复杂)逻辑处理 Tables: Inserted, Deleted 数据库入门

自定义类型、函数 自定义类型 一般不需要 自定义函数 数据库入门

数据库设计 需求分析 逻辑模型 E-R图 --- 实体关系 数据流图 --- 业务处理 物理模型 数据库 分析、优化 数据库入门

数据库设计Steps ⒈需求分析阶段 需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。 ⒉概念结构设计阶段 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。 ⒊逻辑结构设计阶段 将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。 ⒋数据库物理设计阶段 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。 ⒌数据库实施阶段 运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 ⒍数据库运行和维护阶段 数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。 数据库入门

数据库设计实例 项目工作管理, 包含数据表: 职员花名册, 公司部门 系统功能 , 权力角色 , 职员角色 系统功能 , 权力角色 , 职员角色 项目(Project) 、 项目成员(项目-职员) 项目任务分解(WBS, 分级,包括任务包、 工作量估计,计划, 进度, 人员安排,权重, 任务包父亲 ) 项目任务执行跟踪 (工作日志): 项目 - 职员 – 时间 – 对应任务包 – 实际工作量 数据库入门

E-R图实例 2018/11/28 数据库入门

编程接口 API ADO, OLE DB, ODBC ( JDBC), Embedded SQL, URL, XML (Internet) 使用数据库 打开到数据库的连接。 设置控制某些行为的选项 执行 Transact-SQL 语句 将返回代码的数据值、输出参数和结果集移入程序变量中,并通过程序变量由应用程序逻辑使用。 在完成数据库中的工作后断开连接。 数据库入门

连接数据库- PB // Profile sss Transaction SQLCA // 事务对象 SQLCA.DBMS = "ODBC" SQLCA.AutoCommit = False SQLCA.DBParm = "ConnectString='DSN=Excel Files;UID=;PWD='" 连接Access // Profile Access SQLCA.DBParm = "ConnectString='DSN=MS Access Database;UID=;PWD='“ // VB-1 cn.Open "Driver={SQL Server};Server=Server1;Uid=SA;Pwd=;Database=northwind" // VB –2 cn.Provider = "sqloledb“ ProvStr = "Server=MyServer;Database= northwind; Trusted_Connection=yes" cn.Open provStr Transaction SQLCA // 事务对象 sqlca.DBMS = ProfileString (gs_inifile, "DATABASE", "dbms", "MSS") sqlca.DATABASE = ProfileString (gs_inifile, "DATABASE", "DATABASE", "KF") sqlca.userid = ProfileString (gs_inifile, "DATABASE", "userid", "dbo") sqlca.dbpass = ProfileString (gs_inifile, "DATABASE", "dbpass", "") sqlca.logid = ProfileString (gs_inifile, "DATABASE", "logid", "sa") sqlca.logpass = ProfileString (gs_inifile, "DATABASE", "LogPassWord", "") sqlca.servername = ProfileString (gs_inifile, "DATABASE", "ServerName", "(local)") sqlca.dbparm = ProfileString (gs_inifile, "DATABASE", "Dbparm", "") sqlca.AutoCommit = FALSE connect Using SQLCA; // 打开连接 Disconnect Using SQLCA ; // 切断连接 2018/11/28 数据库入门

获取数据-SQL语句 String ls_empl_name // 变量定义 Select empl_name INTO :ls_empl_name FROM bse_employee Where empl_no = ‘system’ Using SQLCA ; if sqlca.sqlcode <> 0 then // … 失败 Else // …. 成功 End if Long ld_id = 0 String as_table = “tableXXX” //update UPDATE sys_system_id SET id_counter = :ld_id WHERE id_table_name = :as_table Using SQLCA; 数据库入门

获取数据-Datawindow // Dw_list Datawindow // d_employee_edit Datawindow Object dw_list.SetTransobject(SQLCA) dw_list.Retrieve( g_userinfo.is_dep_no, g_userinfo.is_empl_cls) …. //保存数据 ll_ret = dw_list.update(TRUE ,TRUE) // 判断 If ll_ret = 1 then Commit ; // using SQLCA Else Rollback; // using SQLCA MessageBox("提示","保存时出错!") End if 数据库入门

与数据库连接Datawindow 数据库入门

Transact-SQL 语言简介 标示符: create Table employee ( empl_no char(10) PRIMARY KEY, empl_name varchar(20), age int default 0 , ….) 数据类型: 函数: 表达式: 运算符: 注释 关键字: 数据库入门

创建与删除表 Create Table drop table CREATE TABLE [dbo].[bse_department] ( [dep_no] [varchar] (10) not NULL , [dep_tycode] [char] (1) NULL , [dep_name] [char] (10) NULL , [dep_no1] [char] (4) NULL , [dep_name1] [char] (10) NULL , [dep_bld_date] [datetime] NULL , [dep_vendor_shared] [smallint] NULL , [dep_telno] [char] (20) NULL ) ON [PRIMARY] GO drop table drop table [dbo].[bse_department] 数据库入门

更改数据 Insert INSERT INTO bse_department (dep_no, dep_name) VALUES ( ‘KFB’, ‘开发部’ ) GO Update: UPDATE bse_department SET dep_name = ‘development’ WHERE dep_no = ‘KFB’ Delete Delete from bse_department WHERE dep_no = ‘KFB’ 数据库入门

简单查询 Select < 列名,…> from <表…>Where <条件>… 查询统计: SELECT * FROM bse_department WHERE (dep_tycode = '1') 查询统计: SELECT dep_no AS 部门编号, COUNT(*) AS 部门人数 FROM bse_employee GROUP BY dep_no 数据库入门

联合查询 联合查询 JOIN ( INNER, LEFT, RIGHT ) SELECT bse_department.dep_name, COUNT(*) AS 部门人数 FROM bse_employee INNER JOIN bse_department ON bse_employee.dep_no = bse_department.dep_no GROUP BY bse_department.dep_name, bse_employee.dep_no 数据库入门

聚合函数 SUM ( …) AVG( …) COUNT(…) MAX(…) MIN(…) Select COUNT( *) from table1 Select sum( column1) from table2 数据库入门

结果集组合 UNION Note: 结果集结构必须相同。 Select * from tableA Select * from tableB Select * from tableC Note: 结果集结构必须相同。 数据库入门

子查询 WHERE exp [NOT] IN ( subquery) WHERE exp comparison_op ( subquery) WHERE NOT EXISTS ( subquery) 例: SELECT * FROM bse_employee WHERE (dep_no NOT IN (SELECT dep_no FROM bse_department WHERE dep_no <> '0000')) 数据库入门

多维汇总数据 CUBE SELECT bse_department.dep_name, bse_employee.empl_cls, COUNT(*) AS 部门人数 FROM bse_employee INNER JOIN bse_department ON bse_employee.dep_no = bse_department.dep_no GROUP BY bse_department.dep_name, bse_employee.empl_cls WITH CUBE RollUp GROUP BY bse_department.dep_name, bse_employee.empl_cls WITH rollup 数据库入门

事务处理 Transaction: 作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元4个 属性: 原子性,一致性,隔离性,持久性 BEGIN Transaction - 启动事务 Commit -提交 , 结束事务 RollBack - 回滚, 结束事务 必须一次提交或全部退回 要么成功,要么失败! 确保数据完整性和一致性 数据库入门

事务处理编写原则 事务保持尽量短。在多用户下,必须事务保持尽量短,减少资源锁定争夺 不要在事务处理期间要求用户输入 浏览数据时,尽量不要打开事务 必须修改数据时,启动事务,执行修改,然后马上提交(commit)或失败后回滚(rollback)事务。 灵活使用游(cursor)标并发选项,如乐观并发(OPTIMISTIC ) 在事务中,尽量访问最小量数据,减少锁定数据行数。 避免并发 (Lock) 数据库入门

谢谢 ! 数据库入门