Structured Query Language (SQL)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Datadictionary Prakan Sringam.
Advertisements

BC421 File and Database Lab
เสรี ชิโนดม MS SQLServer 7 เสรี ชิโนดม
ภาษา SQL (Structured Query Language)
12. การบันทึกข้อมูลลงในตาราง
Introduction to C Programming
การรับค่าและแสดงผล.
บทที่ 5 Visual C#.NET กับ ฐานข้อมูล
ชนิดของข้อมูลและตัวดำเนินการ
Security and Integrity
การพัฒนาระบบฐานข้อมูล ด้วยโปรแกรม SQL
Microsoft Access.
Microsoft Access.
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
ASP [#15] การใช้งาน ASP กับ Mysql ผ่าน ODBC การทำสมุดเยี่ยม Guestbook
Use Case Diagram.
C Programming Lecture no. 6: Function.
MySQL.
ส่วนที่ 4 System Design การออกแบบระบบ.
SQL - Structured Query Language
Structured Query Language (SQL) (2)
– Web Programming and Web Database
บทที่ 3 แบบจำลองข้อมูล Data Models Calculus
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
Chapter 8 : การควบคุมความปลอดภัย (Security Control)
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
โปรแกรม Microsoft Access
Database Programming Exceed Camp #2 24 October 2005.
สถาปัตยกรรมของระบบฐานข้อมูล
MySQL Case study about MySQL On XAMPP server Update : August 23,2012
ความปลอดภัยของฐานข้อมูล
ฐานข้อมูลเชิงสัมพันธ์
คือระบบที่รวบรวมข้อมูลไว้ในที่เดียวกัน ซึ่ง ประกอบไปด้วยแฟ้มข้อมูล (File) ระเบียน (Record) และ เขตข้อมูล (Field) และถูกจัดการด้วยระบบ เดียวกัน โปรแกรมคอมพิวเตอร์จะเข้าไปดึงข้อมูล.
PHP:Hypertext Preprocessor
ตัวแปรกับชนิดของข้อมูล
Creating Database With Structure Query Language (SA&D-8)
SQL Structured Query Language.
SQL เพื่อควบคุมความปลอดภัย (Week 2). การควบคุมการเข้าถึงข้อมูล ระบบการจัดการข้อมูลโดยส่วนใหญ่จะมีกลไกที่ ทำให้แน่ใจได้ว่าเฉพาะผู้มีสิทธิเท่านั้นที่ สามารถเข้าถึงข้อมูลในฐานข้อมูล.
โปรแกรม Microsoft Access
บทที่ 3 การทำงานกับฟอร์ม (Form)
การใช้ PHP ติดต่อฐานข้อมูลMySQL
การใช้ PHP และ MySQLสร้าง”Web-board”
การใช้งานระบบจัดการฐานข้อมูล Mysql ผ่าน phpmyadmin
การใช้งาน ฐานข้อมูล การเขียนเว็บเพจด้วยภาษา php ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม.
การสร้างฐานข้อมูลโดยการใช้ phpMyAdmin
CHAPTER 12 SQL.
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
Introduction to PHP, MySQL – Special Problem (Database)
SQL Structured Query Language.
CHAPTER 13 MySQL and phpMyAdmin
จากรูป ถามถึง Foreign key ของใบจัดสินค้า หากใครเลือกตอบ ในวงกลมสีเขียว ได้คะแนน นอกนั้น หักคะแนน  ส่วนเลขที่ใบ นั้น ถือเป็น.
การเขียนโปรแกรมบนเว็บ PHP กับ MySQL
SQL (Structure Query Language) ตอนที่ 1
Introduction to SQL (MySQL) – Special Problem (Database)
PHP: [9] ฐานข้อมูล MYSQL
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
1 Introduction to SQL กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
ประเภทของคำสั่งของภาษา SQL
Database Design & Development
ภาษา SQL (Structured Query Language)
SQL Structured Query Language.
SQL (Structured Query Language)
SQL (Structured Query Language)
สถาปัตยกรรมของระบบฐานข้อมูล
SQL (Structured Query Language)
Chapter 9 : ภาษาทางด้านฐานข้อมูลคำสั่ง SQL (SQL Command)
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
เรื่อง การวิเคราะห์และออกแบบฐานข้อมูล MySQL Database
คำสั่งสร้างฐานข้อมูล
ใบสำเนางานนำเสนอ:

Structured Query Language (SQL) 357337 – Web Programming and Web Database

Structured Query Language (SQL) SQL ที่ใช้ในระบบฐานข้อมูลแบบ Relational Database เกิดมาจากพื้นฐานของ Relational Model อย่างเช่น Relational Algebra องค์ประกอบของภาษา SQL Data-Definition Language (DDL) : เป็นคำสั่งเพื่อกำหนด relation schemas Interactive data-manipulation language (DML) : เป็นการรวมคำสั่งใน query language ที่มาจากพื้นฐานของ relational algebra และ relational calculus Embedded DML : อยู่ในรูป library เพื่อติดต่อกับภาษาโปรแกรมอื่นๆเช่น C, Pascal, PHP View Definition : คำสั่งเกี่ยวกับการสร้าง view Authorization : คำสั่งเกี่ยวกับสิทธิการเข้าถึงข้อมูล Integrity : คำสั่งเกี่ยวกับการกำหนดความถูกต้องของข้อมูล Transaction Control : คำสั่งเกี่ยวกับการเริ่มต้นและสิ้นสุดของ transaction เช่น lock

MySQL MySQL เป็นโปรแกรมระบบฐานข้อมูลแบบ Relational Database System เป็น open source และสามารถ download มาใช้ได้ Free สามารถทำงานได้กับระบบปฎิบัติการสำคัญๆ ได้หมด เช่น Windows, Linux, Mac OS Website: http://www.mysql.com

phpMyAdmin เมื่อติดตั้งโปรแกรม AppServ สามารถใช้งาน phpMyAdmin เพื่อจัดการกับ MySQL โดยเข้าไปที่ 127.0.0.1/phpmyadmin

การใช้ MySQL ผ่านทาง terminal ใน Windows ให้กด control panel -> run -> พิมพ์ cmd เมื่อได้ terminal ให้พิมพ์ mysql –u root –p หมายถึงเรียกใช้งานโปรแกรม mysql โดยจะเข้าสู่ระบบฐานข้อมูลแบบ user (-u) ที่ชื่อ root และ –p หมายถึง เป็น account ที่มี password ป้องกันไว้อยู่ เมื่อโปรแกรมถาม password ให้ใส่ password ของ root ที่ตั้งเอาไว้

การใช้ MySQL ผ่านทาง terminal ถ้าพิมพ์รหัสถูกต้องจะเข้าสู่ prompt ของโปรแกรม MySQL

คำสั่ง MySQL เราสามารถตรวจดูระบบฐานข้อมูลทั้งหมด ที่ root สามารถมองเห็นด้วยคำสั่ง show databases;

คำสั่ง MySQL ถ้าติดตั้ง AppServ จะมีฐานข้อมูลเริ่มต้นอยู่ 4 ฐานข้อมูล Information_schema และ mysql เป็นฐานข้อมูลที่ใช้ในการตั้งค่าระบบของ MySQL Phpmyadmin เป็นฐานข้อมูลที่เก็บค่าระบบของ PhpMyAdmin Test เป็นฐานข้อมูลทดลอง เราสามารถเลือกการทำงานว่าจะทำงานกับฐานข้อมูลตัวไหนด้วยคำสั่ง use <ชื่อฐานข้อมูล>; เช่น use phpmyadmin;

คำสั่ง MySQL เราสามารถทราบว่าระบบฐานข้อมูลที่เราใช้อยู่นั้นประกอบไปด้วย ตาราง อะไรบ้าง โดยการใช้คำสั่ง show tables;

การดูโครงสร้างของตารางที่ถูกสร้างมาแล้ว สามารถดูโครงสร้างของตารางได้โดยใช้คำสั่ง DESCRIBE <ชื่อตาราง> หรือ DESC <ชื่อตาราง>;

การสร้างฐานข้อมูล เมื่อเราต้องการออกแบบฐานข้อมูลใหม่ เราควรจะสร้างฐานข้อมูลก่อน ด้วยคำสั่ง CREATE database <ชื่อฐานข้อมูล>; เช่น CREATE database CITLibrary;

การสร้างฐานข้อมูล เมื่อเราต้องการลบฐานข้อมูล สามารถทำได้ด้วยคำสั่ง DROP database <ชื่อฐานข้อมูล>; เช่น DROP database CITLibrary;

การสร้างตาราง (Create) Attribute Constraint Create Table: CREATE TABLE r (A1 D1 <NOT NULL, UNIQUE> , … ,An Dn <integrity constraints 1> ... <integrity constraints k>) Integrity Constraints: ข้อกำหนดเกี่ยวกับข้อมูล (attribute, รายการ หรือ ตาราง) เช่น PRIMARY KEY ( Aj1, Aj2, …, Ajm ) CHECK ( P ) Tuple or Attribute Constraints

Domain Types ใน SQL char(n) เก็บตัวอักษร n ตัว จองพื้นที่แบบคงที่ varchar(n) เก็บตัวอักษร n ตัว จองพื้นที่แบบ dynamic text เก็บข้อมูลที่อยู่ในรูปตัวอักษร smallint (2byte) เก็บค่าตัวเลข -32768 ถึง 32767 int (4byte) เก็บค่าตัวเลข -2147483648 ถึง 2147483647 double (8byte) เก็บค่าได้ที่ตัวเลข 15 ตำแหน่งหลังจุดทศนิยม float(n) (4byte) เก็บค่าได้ที่ตัวเลข 7 ตำแหน่งหลังจุดทศนิยม date YYYY-MM-DD time HH:MM:SS datetime YYYY-MM-DD HH:MM:SS bool ค่า 0 คือ false, ค่าที่ไม่ใช่ 0 คือ true

ตัวอย่างการสร้างตารางพื้นฐาน สร้างตาราง Employee CREATE TABLE employee ( ssn INT, fname VARCHAR(20), lname VARCHAR(20), address VARCHAR(50), salary INT, deptno SMALLINT ) สร้างตาราง Department CREATE TABLE department ( deptno SMALLINT, dname VARCHAR(30), mgrssn INT, startdate DATE )

ตัวอย่างการสร้างตารางพร้อมกำหนดข้อกำหนด สร้างตาราง Employee CREATE TABLE employee ( ssn INT NOT NULL AUTO_INCREMENT, fname VARCHAR(20) NOT NULL, lname VARCHAR(20) NOT NULL, address VARCHAR(50), salary INT, deptno SMALLINT NOT NULL, PRIMARY KEY (ssn), )

ตัวอย่างการสร้างตารางพร้อมกำหนดข้อกำหนด สร้างตาราง Department CREATE TABLE department ( deptno SMALLINT, dname VARCHAR(30) NOT NULL, mgrssn INT NOT NULL AUTO_INCREMENT, startdate DATE DEFAULT Sysdate, PRIMARY KEY (deptno), CONSTRAINT dname_uk UNIQUE (dname), CONSTRAINT dept_mgr_fk FOREIGN KEY (mgrssn) REFERENCES employee(ssn))

Domain Constraints การกำหนดลักษณะชนิดของข้อมูล ตรวจสอบเมื่อมีการเพิ่มข้อมูล ตัวอย่างการสร้าง domain CREATE DOMAIN gender CHAR CONSTRIANT gender_test CHECK (gender IN (‘F’, ‘M’)) Constraint Name Constraint Condition

การลบและเปลี่ยนตาราง (Drop) การลบตาราง -- DROP TABLE r ลบตาราง Employee ออกจากระบบฐานข้อมูล DROP TABLE employee; การเปลี่ยนตาราง (Alter) -- ALTER TABLE r ADD (a d) เพิ่ม attribute COMMISSION ในตาราง Employee ALTER TABLE EMPLOYEE ADD (commission int) เปลี่ยน attribute fname ในตาราง Employee ให้มีขนาดใหญ่ขึ้น ALTER TABLE EMPLOYEE MODIFY (fname varchar(40))

การเพิ่มข้อมูล (Insert) INSERT INTO table-name VALUES (a1, a2, … ,an) INSERT INTO table-name(a1-name, a2-name, …, an-name) VALUES (a1, a2, …, an) ตัวอย่าง INSERT INTO employee VALUES (1, ‘John’, ‘Terry’,’Chelsea, London’, 100000, 2) INSERT INTO employee(fname, lname, ssn, deptno) VALUES (‘John’, ‘Terry’, 1, 2)

การลบข้อมูล (Delete) DELETE FROM r [WHERE <conditions>] ลบรายการของพนักงานทั้งหมด DELETE FROM employee ลบรายการของพนักงาน ที่มีรหัส 001 DELETE FROM employee WHERE SSN = 001

การเปลี่ยนข้อมูล (Update) UPDATE r SET a = value UPDATE r SET a = value WHERE <conditions> เปลี่ยนชื่อและนามสกุลพนักงาน ssn = 1 เป็น Frank Lampard UPDATE employee SET fname=‘Frank’,lname=‘Lampard’ WHERE ssn = 1 เพิ่มเงินเดือนให้กับพนักงานทุกคน 10 % UPDATE employee SET salary = salary*1.1 ลดเงินเดือน 5% ของพนักงานทุกคนใน deptNo = 15 UPDATE employee SET salary = salary*0.95 WHERE dNo = 15

SQL ในการค้นหาข้อมูลด้วย Relational Algebra ส่วนใหญ่จะอยู่ในรูป SELECT A1, A2, … , An FROM R1, R2, … , Rm WHERE P

Relational Algebra -> SQL จาก Relational Schema Person(id, name, age) Relational Algebra เพื่อหารหัส และ ชื่อ ของคนที่มีอายุมากกว่า 20 SQL : SELECT id, name FROM person WHERE age > 20;

Relational Algebra -> SQL ในกรณีที่ Relational Algebra ไม่มีการใช้ project ( ) หมายถึงให้แสดงผลลัพธ์ออกมาทุกฟิลด์ ซึ่งตรงกับเครื่องหมาย “*” ใน SQL Relational Algebra SQL SELECT * FROM person WHERE age > 20

Relational Algebra -> SQL ในกรณีที่ Relational Algebra ไม่มีการใช้ select ( ) หมายถึงไม่มีเงื่อนไขในการกรองผลลัพธ์ ดังนั้นใน SQL สามารถละ WHERE ออกไปได้ Relational Algebra SQL SELECT id,name FROM person

Relational Algebra -> SQL SELECT * FROM <ชื่อตาราง> เช่น SELECT * FROM person

SQL : SELECT คำสั่ง SELECT ใน SQL ตามด้วยฟิลด์ที่จะค้นหา วิธี SELECT มีอยู่ 2 แบบ SELECT ALL (เป็น default ของคำสั่ง SELECT ถ้าไม่ระบุ) SELECT DISTINCT

SQL : SELECT คำสั่ง SELECT สามารถทำการ + , - , * , / กับฟิลด์ที่เลือกแสดง ออกมาได้

SQL : FROM ใช้สำหรับเลือกตารางที่จะค้นหาข้อมูล ถ้าใส่มากกว่า 1 และคั่นด้วยเครื่องหมาย “,” หมายถึงจะทำผลคูณ cartesian ของตารางนั้นๆ

SQL : WHERE ใน Relational Algebra เงื่อนไขของ จะเปลี่ยนจากสัญลักษณ์ทางคณิตศาสตร์ เป็น สัญลักษณ์ที่พิมพ์ได้ทาง keyboard ปกติ Logical Operations (RA  SQL)  AND  OR  NOT Arithmetic Operations (SQL) >, <, <=, >=, =, <>

SQL : WHERE หารหัสลูกค้าที่กู้และฝากเงินกับธนาคาร