作業一 : USING DBMS ( 使用 DB2 及 SQL 基本練習 ) 報告人:學生楊群期 學號: 69421502 課程 : 高等資料庫 講師 : 楊維邦教授.

Slides:



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

2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
第2章 資料庫系統 2-1 資料庫環境的四大組成元件 2-2 ANSI/SPARC的三層資料庫系統架構
第5章 关系数据库标准语言SQL 主讲:张丽芳.
An Introduction to Database Systems
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
第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数据定义功能.
資料庫 (Database) SQL Server 2008實作
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
MySQL 使用者名稱:USERNAME (上限16個字元)
第 八 章 資料庫安全 本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。
Chap 13 視界與資料庫程式設計.
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
資料庫設計 Database Design.
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机应用基础 上海大学计算中心.
資料庫管理 資管二 賴柏融.
数据库原理 Database Principles 第五章 数据库完整性 Database Principles.
主机DB2数据库应用与编程 任课老师:王湖南 四川大学计算机(软件)学院.
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
第五讲 利用视图进行查询优化.
關聯式資料庫.
資料庫系統 Database Systems
第 8 章 資料的 新增、修改與刪除.
課程名稱:資料庫系統 授課老師:李春雄 博士
实验二 交互式SQL 邓云.
数据库技术 第三章 关系数据库标准语言SQL 中国科学技术大学网络学院 阚卫华.
第4章 SQL语言基础及数据库定义 4.1 基本概念 4.2 SQL Server 提供的主要数据类型 4.3 数据定义.
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
Chap 10 SQL定義、操作與控制指令.
胡鹏 王慧锋 TEL: 数据库系统原理课程设计 实验环节1 胡鹏 王慧锋 TEL:
第三章 关系数据库标准查询语言SQL 3.1 SQL概述 3.2数据定义语言(DDL) 3.3 SQL的数据查询(DML)
第 7 章 建立資料表與 資料庫圖表.
資料庫安全 (Database Security)
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
Transact-SQL 語言設計教學.
SQL Server 2000 数据库入门.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
第三章作业讲评 文洁 2012/4/10.
SQL SERVER 一些经典语句 1.
实验4:PL-SQL编程 1.实验目的 2.实验原理 PL/SQL是一种过程化语言,属于第三代语言,本实验在与熟悉使用PL/SQL编程.
作业3-点评.
Ch4.SQL Server 2005資料庫組成員元件介紹
第4章(1) 空间数据库 —数据库理论基础 北京建筑工程学院 王文宇.
数据库技术.
第20章 MySQL数据库.
数据库技术与应用.
MySQL开发规范 DB组-张浩.
第三章作业点评 助教: 干艳桃、张榆 Contact 干艳桃
CS, ZJU 4/18/2019 Chapter 7 数据库.
Example: Banking Database
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
SQL查询语句 蔡海洋.
第三章 SQL Server数据管理.
第六類 資料庫備份與回復.
第 7 章 建立資料表與資料庫圖表.
第4章 表的创建与维护 4.1 数据类型 4.2 数据完整性约束 4.3 创建数据表 4.4 修改数据表 4.5 删除数据表.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
第4章 数据查询.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

作業一 : USING DBMS ( 使用 DB2 及 SQL 基本練習 ) 報告人:學生楊群期 學號: 課程 : 高等資料庫 講師 : 楊維邦教授

準備作業 ( 下載 DB2)

DB2 V8.2.2

Windows for 32bit system

下載檔案 … 休息是為了走更長遠的路 ~

安裝 DB2 程式解壓縮 Setup 安裝完成 ( 如右圖 )

建立資料庫

建立 TEST 資料庫

第一題: write an appropriate set of SQL definitions for this database.(Fig 4.5) 操作方式有 : SQL 指令 精靈或圖型介面工具

工具 / 命令編輯區

使用 SQL 指令建立 TABLE create table P (P# char (5) not null, PNAME char (20), COLOR char (10), WEIGHT DECIMAL (6,1), CITY char (15), primary key (P#)); create table J (J# char (5) not null, JNAME char (20), CITY char (15), primary key (J#)); create table S (S# char (5) not null, SNAME char (20), STATUS smallint, CITY char (15), primary key (S#)); CREATE TABLE SPJ ( S# CHARACTER (5) NOT NULL, P# CHARACTER (5) NOT NULL, J# CHARACTER (5) NOT NULL, QTY INTEGER NOT NULL, PRIMARY KEY ( S#, P#, J#) ) ;

利用精靈或圖型介面工具 建立 TABLE

TABLE 建立完成

輸入資料至 TABLE

用 SQL 指令將各 TABLE 的資料值建立 Insert into s values('S1','Smith',20,'London'); Insert into s values('S2','Jones',10,'Paris'); Insert into s values('S3','Blake',30,'Paris'); Insert into s values('S4','Clark',20,'London'); Insert into s values('S5','Adams',30,'Athens'); Insert into p values('P1','Nut','Red',12,'London'); Insert into p values('P2','Bolt','Green',17,'Paris'); Insert into p values('P3','Screw','Blue',17,'Rome'); Insert into p values('P4','Screw','Red',14,'London'); Insert into p values('P5','Cam','Blue',12,'Paris'); Insert into p values('P6','Cog','Red',19,'London'); Insert into J values('J1','Sorter','Paris'); Insert into J values('J2','Display','Rome'); Insert into J values('J3','OCR','Athens'); Insert into J values('J4','Console','Athens'); Insert into J values('J5','RAID','London'); Insert into J values('J6','EDS','Oslo'); Insert into J values('J7','Tape','London');

利用精靈或圖型介面工具 建立資料

完成 Fig 4.5

第二題: what additional CREATE TABLE options dose that product support? 資料庫的種類很多, 較常提及的有 : IBM 公司 DB2 甲骨文公司 ORACLE 微軟公司 SQL SERVER 其他如 MYSQL,SYBASE ……. 雖各家發展資料庫延伸功能各異, 但基本 上都會提供一些相同的功能

CREATE TABLE SYNTAX 不論何種公司發展的資料庫, 一般而言建 立表格的基本指令格式區分以下幾類 : 表格名稱 欄位描述 儲存參數設定 其他參數設定 限制條件 整理自 : 儒林出版精鍊 Oracle 8/8i 資料庫系統與應用 ( 第 5 章 )

表格名稱 在同一資料庫中不得定義重覆名稱 表格名稱有長度的限制 不包含引號 不區分大小寫 必需以字母開頭 字元內容的限制

欄位描述 ( 欄位名 / 類型 / 長度 ) CHAR(N) 固定長字元串,N 位元長 VARCHAR2(N) 變動字元串, 最長 N LONG(N) 長變動字元, 最長 N DATE 日期 / 時間欄位 NUMBER(P,S) 數字欄位, 全部 P, 小數點後 S RAW OR LONG RAW 二進位儲存 MLSLABEL 安全級別 (ORACLE 自設 )

儲存參數設定 STORAGE 子句用來控制分配給表格的儲存空間大小 MINEXTENTS 參數 分配的區間, 預設是 1 MAXEXTENTS 參數 擁有的最大區間數 儲存參數設定 TABLESPACE 定義表格放在那個表空間中 PCTEFREE 區塊內預留的空的空間百分比, 預設是 10% PCTUSED 區塊內已使用空間最小百分比, 預設是 40% PARLLLEL 加速對表格掃描可以使用的併行查詢行程個數 CHCHE 指明該表格經常被存取 CLUSTER 指明該表格放置在叢集中

其他參數設定 INITRANS 指定表格的每一資料區塊分配 的行程個數值 MAXTRANS 指定可同時修改表格的資料 區塊的最大行程數 RECOVERABLE 指定表格可還原 UNRECOVERABLE 指定表格不可還原 AS 子查詢 將子查詢回捲的記錄插入到所 建立的表格中

限制條件 CHECK 確保值在一定範圍內 DEFAULT 在欄位內放入預設值 NOT NULL 在欄位內保持一個值 PRIMARY KEY 不得為空值且該值是唯一值 FOREIGN KEY 該值依附另一表格的主鍵值 UNIQUE 確保該值對於表格是唯一的

例如 :MYSQL CREATE TABLE Syntax CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [( create_definition,...)] [ column_definition ] [ type ] [ table_options ] [ select_statement ] option …… ref: table.html

第三題 : Dos that product support the information schema? If not, what does its catalog support look like? schema 以醫院醫療資訊系統 (HIS) 膳食系統為例 Catalog

各層的資料定義稱為 綱要 (Schema) 外部層 (External Level) : 則代表使用者所看到的部 份。 概念層 (Conceptual Level) : 為內部層與外部層之間的 橋樑。﹝此部份為資料庫管 理師所看到的部份﹞ 內部層 (Internal Level) : 所代表的是實際儲存資料 的結構。

以醫院醫療資訊系統 (HIS) 膳食 系統為例 外部層 (External Level) : 檔案名稱: FOD102 膳食履歷資料檔 FOD107 膳食基本資料檔 FOD108 伙食身份及 請款單位代碼 可輸入 病床號碼、病歷號碼、身份證號, 將住院病患每日之膳食起伙止伙等資料,如 日期、時間、原因等輸入後,再作新增或修 改之動作。來查詢膳食基本資料檔。

以醫院醫療資訊系統 (HIS) 膳食 系統為例 概念層 (Conceptual Level)

以醫院醫療資訊系統 (HIS) 膳食 系統為例 內部層 (Internal Level)

系統目錄 ( System Catalog ) 系統目錄存放著 : 系統中有那些資料表 (Table) 、各資料表中含有哪些綱要內容、 資料的統計結果、各資料表的擁有者 (Owner) 資料,可供哪些使用者使用資料、 各個視界 (Views) 等等。 “ Data about data"

第四題 :SQL 操作 A: insert a new supplier S10 into table S. the name and city are Smith and New York, respectively; the status is not yet known. B: change the color of all red parts to orange. C: delete all projects for which there are no shipments.

A:insert S10, Smith, New York into table S. INSERT INTO S (S#, SNAME, CITY) VALUES ('S10', 'Smith', 'New York');

B: change the color of all red parts to orange UPDATE P SET COLOR = 'Orange' WHERE P.COLOR = 'Red';

C: delete all projects for which there are no shipments

第五題 write a program with embedded SQL statements to list all …. (Fig 4.5) Embeded SQL 是普通的程式語言中加入資料庫語 言的一種複合式語言。為了區分 資料庫語言和程式 語言的差別,在每個資料庫語言之前必須加一些關 鍵字 EXEC SQL 。 因為此語言穿插著普通語言和資 料庫的語言,所以必須經過前處理( precompiler process )把資料 把資料庫語言轉換成普通語言的 程式碼,然後才可利用普通語言編譯器來編譯成可 執行檔。

實作 #include void main() { EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION; char msgbuffer[500]; char dbname[7]="TEST"; /* Name of database */ char s[5]; char sname[20]; smallint status; char city[20]; EXEC SQL END DECLARE SECTION; EXEC SQL CONNECT TO :dbname; EXEC SQL DECLARE CS CURSOR FOR SELECT S#,SNAME,STATUS,CITY FROM S ORDER BY S#; printf("s# sname status city "); while (SQLCODE==0){ printf("%2s %10s %6d %10s\n",s,sname,status,city); } EXEC SQL CLOSE CS; EXEC SQL CONNECT RESET; }

第六題 : Let tables PART and PART_STRUCTURE be defined as … (Fig 4.6) PART_STRUCTURE MAJOR_P#MINOR_P#QTY P1 P2 P3 P4 P5 P2 P3 P4 P5 P