当前位置:文档之家› sql数据库入门

sql数据库入门


ERP十万个为什么
10
触发器Trigger
一种特殊SP, 在指定表的数据发生 变化时自动生效,即被调用、被执 行。(Insert, Update, Delete时) 目的:强制业务规则和数据完整性 Trigger:

Transact-SQL语法, (简单或复杂)逻辑处理
ห้องสมุดไป่ตู้
CREATE PROC sp_backupmessage @as_filename VARCHAR(200) as
Restore HEADERONLY FROM DISK = @as_filename GO

优点:
模块化设计、创建一次,重复使用, 后台运行,速度更快 网络流量减少, 安全
2013-3-5
ERP十万个为什么
6
建新表


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

Tables: Inserted, Deleted
ERP十万个为什么 11
2013-3-5
自定义类型、函数

自定义类型
一般不需要

自定义函数
2013-3-5
ERP十万个为什么
12
需求分析 逻辑模型

数据库设计
ERP十万个为什么
5
表 Table

Table: 表是包含数据库中所有数据的数 据库对象。 表结构: Column 列(字段)的 集合 每行是一条记录。 表的定义: 列名 , 数据类型, 初始值, 是否允 许空 约束规则,索引, 主键, 外键
2013-3-5
0,n Rel ati ons hi p_4 0,1 成 成 成 成
Prj _ID <UNDEF> 成 成 <UNDEF> 成 成 成 成 成 成 <UNDEF> workl oad <UNDEF>
0,n
0,n 成 成 成 成 Prj _ID <UNDEF> em pl _ID <UNDEF> 成 成 成 成 <UNDEF> 成 成 成 成 <UNDEF> 0,n 成 成 1,1 成 成 成 成
16
编程接口 API

ADO, OLE DB, ODBC ( JDBC), Embedded SQL, URL, XML (Internet)
使用数据库 1. 打开到数据库的连接。 2. 设置控制某些行为的选项 3. 执行 Transact-SQL 语句 4. 将返回代码的数据值、输出参数和结果集移入程序 变量中,并通过程序变量由应用程序逻辑使用。 5. 在完成数据库中的工作后断开连接。
获取数据-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 id_table_name = :as_table Using SQLCA;
0,1
成 成 成 成 成 成 成 成 _ID <UNDEF> Prj _ID <UNDEF> Tas k_ID <UNDEF> 成 成 成 成 成 成 <UNDEF> 成 成 成 成 成 <UNDEF> 成 成 <UNDEF>
2013-3-5
ERP十万个为什么
2013-3-5 ERP十万个为什么 15
E-R图实例
成 成 dep_ID Nam e M anager <UNDEF> <UNDEF> <UNDEF> 成 成
Conceptual Data M odel M odel : PM Package: Di agram : PM Author : Adm i ni s trator Date : 2004-1-6 Vers i on : 成 成 成 成 0,n 0,1 em pl _ID em pl _Nam e em pl _ty pe dep_ID 成 成 ID <UNDEF> <UNDEF> <UNDEF> <UNDEF> <UNDEF>
2
SQL Server数据库
管理、存储和访问数 据 Database

对应文件: .mdf, .ldf
包含: Table, View, Index, Store Procedure, Trigger, etc.

2013-3-5 ERP十万个为什么 3
SQL Server 2000 数据库入门
SQL Server 2000
MS 数据库管理系统 组成:

– 程序: 用户界面,工具 – 数据结构:管理和存储数据

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

Stored Procedure
运行在SQL Server服务器方 类似子程序模块 可以输入、输出参数 包含数据库操作语句( or call SP ) Return value 编程语言:Transact-SQL
---- Get backup file message ---- by You jianshe 2003-2-14 ---*/
视图 View

虚拟表, 由查询定义, 包含行、列, View数据并不真正存在在View中, 通过 查询其它数据源(数据表、视图、其他数 据库、其他服务器)而来。
2013-3-5
ERP十万个为什么
9
存储过程 Stored Procedure
/* ---- Stored Procedure: sp_backupmessage
SQL 2000管理工具
2013-3-5
ERP十万个为什么
4
创建database
右键-〉新建数据库 输入数据库名: test 包含:

数据文件: test_Data 事务日志文件:test_Log
及对应物理文件:
.mdf, .ldf
2013-3-5
2013-3-5
ERP十万个为什么
17
连接数据库- PB
// Profile sss Transaction SQLCA // 事务对象 SQLCA.DBMS = "ODBC" sqlca.DBMS = ProfileString (gs_inifile, "DATABASE", "dbms", SQLCA.AutoCommit = False "MSS") SQLCA.DBParm = "ConnectString='DSN=Excel Files;UID=;PWD='" sqlca.DATABASE = ProfileString (gs_inifile, "DATABASE", "DATABASE", "KF") 连接Access erid // Profile Access = ProfileString (gs_inifile, "DATABASE", "userid", "dbo") SQLCA.DBMS = "ODBC" sqlca.dbpass = ProfileString (gs_inifile, "DATABASE", "dbpass", "") SQLCA.AutoCommit = False sqlca.logid = ProfileString (gs_inifile, "DATABASE", "logid", "sa") SQLCA.DBParm = "ConnectString='DSN=MS Access sqlca.logpass = ProfileString (gs_inifile, "DATABASE", Database;UID=;PWD='“ // VB-1 "LogPassWord", "") cn.Open "Driver={SQL = ProfileString (gs_inifile, "DATABASE", sqlca.servername Server};Server=Server1;Uid=SA;Pwd=;Database=northwind" // VB –2 "ServerName", "(local)") cn.Provider = "sqloledb“ sqlca.dbparm = ProfileString (gs_inifile, "DATABASE", "Dbparm", "") ProvStr = "Server=MyServer;Database= northwind; Trusted_Connection=yes" sqlca.AutoCommit = FALSE cn.Open provStr connect Using SQLCA; // 打开连接 ERP十万个为什么 Disconnect Using SQLCA ; 2013-3-5 // 切断连接 18
相关主题