ระบบฐานข้อมูล DATABASE SYSTEM รหัสวิชา 4122204 (a) Wathinee Duang-onnam เนื้ อหาที่สอน ผูใ้ ช้ / เครื่องลูกข่าย (User / Client) index.html Insert.jsp Select.jsp (Search) Delete.jsp Update.jsp Create table Insert Select Delete Update DB เอสคิวแอล (SQL) คือ ? 3 เอสคิวแอล (SQL) คือ ภาษาสอบถามข้อมูล หรือภาษาจัดการข้อมูล อย่างมีโครงสร้าง มีการพัฒนาภาษาคอมพิวเตอร์ และโปรแกรม ฐานข้อมูลที่รองรับมากมาย เพราะจัดการข้อมูลได้ง่าย เช่น MySQL, MsSQL, PostgreSQL หรือ MS Access เป็ นต้น สาหรับโปรแกรม ฐานข้อมูลที่ได้รบั ความนิ ยมคือ MySQL เป็ น Open Source ที่ใช้งาน ได้ท้งั ใน Linux และ Windows รูปแบบของการเขียนภาษา SQL แบ่งออกเป็ น 2 แบบ 1. Interactive SQL เป็ นการเรียกใช้คาสัง่ sql แบบมีการโต้ตอบกับผูใ้ ช้ทนั ที (interactive) โดยการนาคาสัง่ ภาษา sql เข้าและ excute เห็นผลลัพธ์ได้ ทันที 2. Embedded SQL เป็ นการฝังภาษา sql แทรกไว้ในโปรแกรมที่เป็ นภาษาอื่น ๆ เช่น c,java,jsp,asp,pascal เป็ นต้น กลุ่มคาสัง่ SQL 5 ประเภทของคาสัง่ ในภาษา SQL ประกอบด้วยชุดคาสัง่ หลัก ๆ 3 ประเภทด้วยกัน ได้แก่ 1. DDL (Data Definition Language) 2. DML (Data Manipulation Language) 3. DCL (Data Control Language) DDL (Data Definition Language) เป็ นชุดคาสัง่ ที่ใช้ในการนิ ยาม กาหนด หรือการสร้าง ข้อมูล บนฐานข้อมูล เช่น table , index ,view ได้แก่คาสัง่ create table ,create view เป็ นต้น DML (Data Manipulation Language) เป็ นชุดคาสัง่ ที่ใช้ในการประมวลผลหรือจัดการกับข้อมูล ในฐานข้อมูล ได้แก่ select , insert ,update เป็ นต้น DCL (Data Control Language) เป็ นชุดคาสัง่ ที่ใช้ในการควบคุมสิทธิ์ของผูใ้ ช้ในการใช้ ข้อมูลรวมทั้งส่วนที่ใช้ควบคุมการใช้งานฐานข้อมูลจาก ผูใ้ ช้หลาย ๆ คนพร้อมกัน ได้แก่คาสัง่ grant ,revoke เป็ น ต้น การสร้างฐานข้อมูล 1.Table name: Employee 2.Table name: Department Table และ Filed Department Employee สร้างฐานข้อมูล (Database) สร้าง database ชื่อ Sample Sample คำสั ่งที่ใช้ในกำรสร้ำงฐำนข้อมูล คำสั ่งที่ใช้ในกำรลบฐำนข้อมูล ตรวจสอบฐานข้อมูลที่สร้าง เรียกใช้ฐานข้อมูล สร้าง table สร้าง table ชื่อ employee, department Sample Employee Department การสร้างตาราง (table) การสร้างตาราง (table) รูปแบบคาสัง่ วิเคราะห์ตารางเพื่อเก็บข้อมูล Employee Department วิเคราะห์ตารางเพื่อเก็บข้อมูล (ต่อ) Employee ข้อความ ชนิ ดตัวเลข (สามารถมีเลข 0 ข้างหน้า) ข้อความ ข้อความ กลุ่มข้อมูลให้เลือกเช่น ‘M’,’F ตัวเลข(ทศนิ ยม) วันที วันที่ ตัวเลข(ต้องเป็ นชนิ ด เดียวกันและขนาดเท่ากัน กับที่อา้ งอิงมา วิเคราะห์ตารางเพื่อเก็บข้อมูล (ต่อ) Department ชนิ ดตัวเลข ชนิ ดข้อความ การสร้างตาราง (table) พจนานุ กรมข้อมูล (data dictionary) 28 ให้นักศึกษาฝึ กสร้าง table (สร้าง flied) Employee Department ชนิดข้อมูล ประเภทข้อมูลตัวเลข ประเภทข้อมูลตัวเลขเป็ นทั้งเลขจานวนเต็มและทศนิ ยม สาหรับเลขทศนิ ยม สามารถระบุจานวนตาแหน่ งหลังจุดทศนิ ยม ค่านี้ แสดงด้วย D ค่าสูงสุดสามารถ ระบุ D เป็ น 30 หรือ M-2 ( นัน่ เป็ นความยาวสูงสุดในการแสดงลบสอง หนึ่ ง ตัวอักษร สาหรับจุดทศนิ ยม และหนึ่ งสาหรับส่วนจานวนเต็มของตัวเลขนั้น ) ขึ้ นกับว่าค่าใดน้อยกว่า ชนิดข้อมูลตัวเลข ประเภทข้อมูลจานวนเต็ม ชนิดข้อมูลตัวเลข ประเภทข้อมูลทศนิ ยม ประเภทข้อมูล วันที่ และเวลำ ประเภทข้อมูลข้อควำม กลุ่มที่ 1 : ประเภทข้อความธรรมดา ประเภทข้อมูลข้อควำม กลุ่มที่ 2 : แสดงประเภทข้อมูล TEXT และ BLOB ประเภทข้อมูลข้อควำม กลุ่มที่ 3 : แสดงประเภทข้อมูล ENUM และ SET ตัวอย่างการสร้าง Table ให้นักศึกษาฝึ กสร้าง table (เพิ่มชนิ ดของข้อมูล) Employee Department ความหมายของ keyword อื่น ๆ(ข้อมูลเพิ่มเติม อื่นๆ ) *** สาหรับประเภทข้อมูลตัวเลขทั้งหมด สามารถระบุ คุณลักษณะ ZEROFILL เมื่อค่าจาก คอลัมน์ ZEROFILL ได้รบั การแสดง ค่าเหล่านี้ จะมีการเติมศูนย์ขา้ งหน้า เช่น 0000011 Unique ใส่ต่อท้ายคอลัมน์ใดข้อมูลในแต่ละแถวของคอลัมน์น้ัน ๆจะต้องไม่ซ้ากัน ความหมายของ keyword อื่น ๆ(ข้อมูลเพิ่มเติม อื่นๆ ) การระบุ primary key หลังจากชื่อคอลัมน์ สามารถใช้สาหรับ กาหนด PK ให้กบั คอลัมน์เดียว(ใน table) สาหรับการระบุ primary key ท้ายของประโยค create table สามารถใช้สร้างดัชนี 2 คอลัมน์ได้ ความหมายของ keyword อื่น ๆ Default ตัวอย่าง default=‘ddddd’ ddddd default ให้นักศึกษาฝึ กสร้าง table Employee Department การแก้ไขโครงสร้างของ Table 1.แก้ไขเกี่ยวกับ table table คาสัง่ ที่ใช้ในการลบ table คาสัง่ ที่ใช้ในการเปลี่ยนชื่อ table คาสัง่ ที่ใช้ในการสร้าง การแก้ไขโครงสร้างของ Table 2. แก้ไขเกี่ยวกับ filed คาสัง่ ที่ใช้ในการเพิ่ม filed คาสัง่ ที่ใช้ในการลบ filed คาสัง่ ที่ใช้ในการเปลี่ยนชื่อ filed คาสัง่ ที่ใช้ในการเปลี่ยนประเภท filed คำสั ่งที่ใช้ในกำรเปลี่ยนชื่อตำรำง รูปแบบคาสัง่ Rename table ชื่อตารางเดิม to ชื่อตารางใหม่; ตัวอย่าง rename table department to department_1; คำสั ่งที่ใช้ในกำรเพิ่มคอลัมน์ ในตำรำง คำสั ่งที่ใช้ในกำรเปลี่ยน ประเภทข้อมูลของ คอลัมน์ ในตำรำง Alter table table_name Change [column] column_old column_new new type; คำสั ่งที่ใช้ในกำรลบคอลัมน์ ในตำรำง การเพิ่มข้อมูล ลงในตาราง การ Insert ข้อมูล Table name : department 1.Table name: Department 2.Table name: Employee กำรเพิ่มข้อมูลทุกคอลัมน์ ที่ได้สร้ำงไว้ กำรเพิ่มข้อมูลเฉพำะคอลัมน์ ที่กำหนด กำรเพิ่มข้อมูลครั้งละหลำย record กำรเพิ่มข้อมูล โดยข้อมูลได้จำกกำรคัดลอกมำ จำกตำรำงอื่น การแก้ไขข้อมูลใน ตาราง(table) Media กำรปรับปรุงข้อมูล UPDATE statement ใช้ในการปรับค่าหรือเปลี่ยนข้อมูลตามเกณฑ์ที่กาหนด กำรลบข้อมูล DELETE statement เป็ นคาสัง่ ที่ใช้การลบข้อมูล การลบ Table DROP statement ที่ใช้ในการลบ Table หรือยกเลิก คาสัง่ select ในการค้นหาข้อมูล ดูเนื้ อหาใน sheet การเรียกดูขอ้ มูลจากหลายตาราง แบบ Equijoin (โดยใช้เครื่องหมาย =) การเรียกดูขอ้ มูลจากหลายตาราง การเรียกดูขอ้ มูลจากหลายตาราง