PostgreSQL
เนื้อหาของงาน : http://db5630060.blogspot.com/2016/05/whats-postgresql-and-introduces.html
Security of Database
เนื้อหาของงาน : http://db5630060.blogspot.com/2016/05/security-of-database.html
SQL Injection
เนื้อหาของงาน :http://db5630060.blogspot.com/2016/05/sql-injection.html
Database Systems test
วันจันทร์ที่ 23 พฤษภาคม พ.ศ. 2559
Normal Form
สมาชิกกลุ่ม
1.นพรัตน์ ไพโรจน์พัฒนกุล 5601012620072
2.ชนานันน์ พงศ์กีรติกานต์ 5601012630043
3.นสิทธิ์ จูรอด 5601012630175
เนื้อหาของงาน :http://db5620072.blogspot.com/2016/05/normal-form.html
1.นพรัตน์ ไพโรจน์พัฒนกุล 5601012620072
2.ชนานันน์ พงศ์กีรติกานต์ 5601012630043
3.นสิทธิ์ จูรอด 5601012630175
เนื้อหาของงาน :http://db5620072.blogspot.com/2016/05/normal-form.html
วันพุธที่ 13 เมษายน พ.ศ. 2559
PostgreSQL
PostgreSQL คืออะไร
PostgreSQL เป็นระบบจัดการฐานข้อมูลแบบ ORDBMS มีความสามารถ ACID และสนับสนุน SQL92 และ SQL99 โดยมีชนิดข้อมูลหลายประเภทรวมถึงมีชนิดข้อมูลแบบ user define ซึ่งผู้ใช้กำหนดขึ้น ทำงานในหลายแพลทฟอร์มได้แก่ Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), และ Windows เป็นซอฟต์แวร์ใช้ได้ฟรีโดยมีลิขสิทธิ์แบบ BSD ซึ่งหมายถึงผู้ใช้สามารถนำไปใช้งานได้ฟรี
วิธีลงโปรแกรมใน Ubuntu14.04
- เปิดหน้าต่าง Terminal
- พิมพ์คำสั่ง $ sudo apt-get install postgresql postgresql-contrib
การเข้าใช้งานโปรแกรม
- พิมพ์คำสั่ง $ sudo -i -u postgres
PostgreSQL เป็นระบบจัดการฐานข้อมูลแบบ ORDBMS มีความสามารถ ACID และสนับสนุน SQL92 และ SQL99 โดยมีชนิดข้อมูลหลายประเภทรวมถึงมีชนิดข้อมูลแบบ user define ซึ่งผู้ใช้กำหนดขึ้น ทำงานในหลายแพลทฟอร์มได้แก่ Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), และ Windows เป็นซอฟต์แวร์ใช้ได้ฟรีโดยมีลิขสิทธิ์แบบ BSD ซึ่งหมายถึงผู้ใช้สามารถนำไปใช้งานได้ฟรี
วิธีลงโปรแกรมใน Ubuntu14.04
- เปิดหน้าต่าง Terminal
- พิมพ์คำสั่ง $ sudo apt-get install postgresql postgresql-contrib
การเข้าใช้งานโปรแกรม
- พิมพ์คำสั่ง $ sudo -i -u postgres
รูปแสดง การพิมพ์คำสั่งเพื่อเปิดโปรแกรม
การสร้าง Database
- หลังจากเปิดโปรแกรมแล้วให้พิมคำสั่ง
$ createdb ชื่อdatabase
- เลือกใช้ database โดยพิมคำสั่ง
$ psql -d ชื่อdatabase
รูปแสดง การสร้างและการเช้าใช้ database
- หากต้องการดู database ที่มีอยู่ ให้พิมพ์คำสั่ง
$ \l
รูปแสดง database ที่มีอยู่
การสร้างตาราง
-ใช้คำสั่งเหมือน Mysql ทุกอย่าง
ตัวอย่างการสร้างตาราง
create table time_slot(time_slot_id int,
day varchar(100),
start_time varchar(100),
end_time varchar(100),
primary key(time_slot_id)
);
หากต้องการดูtable ที่มีอยู่ ให้พิม \d
หากต้องการดูรายละเอียดของแต่ละ table ที่มีอยู่ ให้พิม \d ชื่อตาราง
day varchar(100),
start_time varchar(100),
end_time varchar(100),
primary key(time_slot_id)
);
หากต้องการดูtable ที่มีอยู่ ให้พิม \d
หากต้องการดูรายละเอียดของแต่ละ table ที่มีอยู่ ให้พิม \d ชื่อตาราง
วันจันทร์ที่ 28 มีนาคม พ.ศ. 2559
Assignment 1 : University_enterprise
สมาชิกกลุ่ม
1.นพรัตน์ ไพโรจน์พัฒนกุล 5601012620072
2.ชนานันน์ พงศ์กีรติกานต์ 5601012630043
3.นสิทธิ์ จูรอด 5601012630175
อ้างอิง: เนื้อหาของ A1
1.นพรัตน์ ไพโรจน์พัฒนกุล 5601012620072
2.ชนานันน์ พงศ์กีรติกานต์ 5601012630043
3.นสิทธิ์ จูรอด 5601012630175
อ้างอิง: เนื้อหาของ A1
วันจันทร์ที่ 8 กุมภาพันธ์ พ.ศ. 2559
To Do week4(Relational Algebra)
- Select *
- Project *
- Rename *
- Union **
- Set difference **
- Cartesian-product **
* Unary operations คือการมี Operand เพียงตัวเดียว
** Binary operations คือการมี Operand 2 ตัว - set intersection
- natural join
- division
- assignment
- Select operation
การทำงาน : เป็นคำสั่งที่ใช้เลือกข้อมูล ในแถวที่ตรงกับเงื่อนไขที่กำหนด คล้ายกับคำสั่ง where ในภาษา SQL
แทนด้วยสัญลักษณ์ :
วิธีการใช้งาน :
condition สามารถใช้เครื่องหมาย :การเปรียบเทียบ = , > , < , ≥ , ≤ , ≠
ตัวอย่างการใช้งาน :
เช่นในตารางความสัมพันธ์ของสมุดโทรศัพท์ มีข้อมูลของผู้ติดต่ออยู่ภาพแสดงตารางข้อมูลทั้งหมด ของ ความสัมพันธ์ Contactเราจะเลือกเอาข้อมูลเฉพาะผู้ติดต่อที่ อยู่ใน Home ซึ่งสามารถเขียนโดยใช้ Select operation ได้ดังนี้ - Project operationการทำงาน : เป็นคำสั่งที่ใช้แสดงข้อมูล ในcolumn(attribute) ที่ตรงกับเงื่อนไขที่กำหนด คล้ายกับคำสั่ง select ในภาษา SQLแทนด้วยสัญลักษณ์ :

วิธีการใช้งาน : - Union operation
การทำงาน : ใช้เมื่อต้องการเชื่อมข้อมูล กับตารางมากกว่า1ตาราง โดยจะเอาข้อมูลทุกตัว ถ้ามีข้อมูลซ้ำกันจะแสดงข้อมูลนั้นเพียง1ตัวแทนด้วยสัญลักษณ์ : Uวิธีการใช้งาน : A U B //โดย A และ B เป็นความสัมพันธ์ตัวอย่างการใช้งาน :
เช่น ต้องการหาชื่อของสมาชิก ลูกค้าปกติ และลูกค้า VIP ซึ่งเราต้องการแค่ชื่อของสมาชิก จึงใช้ Project operation เข้ามาช่วย ในการใช้ร่วมกับคำสั่ง Union operation
- Set difference
การทำงาน : เลือกแสดงค่าที่อยู๋ในความสัมพันธ์หนึ่งแต่ ไม่พบค่านั้นในอีกความสัมพันธ์หนึ่งแทนด้วยสัญลักษณ์ : - (เครื่องหมาย - )วิธีการใช้งาน : A - B //โดย A และ B เป็นความสัมพันธ์
//ค่าที่ได้จะอยู่ใน A แต่ไม่อยู๋ใน B - Cartesian-productการทำงาน : ใช้สำหรับนำข้อมูลทั้ง 2 ตารางมา cross กันซึ่งค่าที่ได้ออกมาจะเป็นการจับคู่กันทั้ง 2 ตารางซึ่งจะไม่มีประโยชน์อะไร เราจึงต้องใช้การ select และ project เข้ามาช่วยแทนด้วยสัญลักษณ์ : Xวิธีการใช้งาน : A x B
เมื่อนำมาใช้รวมกับ select operationตัวอย่างการใช้งาน :
------
More examples of queries in Relational Algebra
Relational Algebra คือ การแสดงถึงความสัมพันธ์ของข้อมูล ซึ่งเป็นพื้นฐานของการสร้างฟังก์ชันของคำสั่งต่างๆใน SQL
Relational Algebra มี operations พื้นฐานได้แก่
นอกจากนี้ยังมีคำสั่งอื่นๆอีกเช่น
ในที่นี้จะเริ่มอธิบาย operations พื้นฐาน ก่อนได้แก่

ตัวอย่างการใช้งาน : เช่นต้องการแสดงข้อมูลName และ Phone โดยไม่สนใจข้อมูลใน column อื่นๆ
ภาพแสดงตารางข้อมูลทั้งหมด ของ ความสัมพันธ์ Contact
เราจะเลือก attribute ที่นำมาแสดงซึ่งสามารถเขียนโดยใช้ Project operation ได้ดังนี้
ภาพแสดงตารางใหม่ ตามเงื่อนไขที่ได้กำหนด
โดย relational algebra ดังกล่าวมีความหมายเดียวกับ คำสั่ง MySQL ดังต่อไปนี้
- select name,phone from contact;
Ans Inner join นั้นคือการนำค่าระหว่าง set หรือข้อมูลที่มีการซ้อนทับกันหรือเหมือนกัน ส่วน Outer join นั้นคือการเอาค่าทั้งหมดของระหว่าง set นั้นเอง และยังมี join ประเภทอื่นๆอีกมากมาย
ภาพแสดงการ Join ในรูปแบบต่างๆ
What is a division operation?
Ans การทำ division operation คือการนำเอาค่าของ Attribute ตารางที่เป็น Divisor(S) ไปเทียบกับค่า Attributeในตาราง Dividend(R) เมื่อมีค่าที่เหมือนกันเราจะนำเอาค่านั้นออกมาแสดงเป็นผลลัพธ์ดังตัวอย่างที่เขียนในด้านล่างนี้
Ans การทำ division operation คือการนำเอาค่าของ Attribute ตารางที่เป็น Divisor(S) ไปเทียบกับค่า Attributeในตาราง Dividend(R) เมื่อมีค่าที่เหมือนกันเราจะนำเอาค่านั้นออกมาแสดงเป็นผลลัพธ์ดังตัวอย่างที่เขียนในด้านล่างนี้
ภาพแสดงตัวอย่างการใช้ division
จากรูปจะเห็นว่า การนำข้อมูลของตาราง s ไปเทียบกับ attribute ในตาราง r ซึ่งได้ข้อมูลออกมาเป็น set โดยข้อมูลที่ได้ คือการที่ attribute A ตัวเดียวกันมีค่าใน attribute B ทั้งสองค่า ไม่ใช่แค่มีค่าใดค่า 1
จากรูปจะเห็นว่า การนำข้อมูลของตาราง s ไปเทียบกับ attribute ในตาราง r ซึ่งได้ข้อมูลออกมาเป็น set โดยข้อมูลที่ได้ คือการที่ attribute A ตัวเดียวกันมีค่าใน attribute B ทั้งสองค่า ไม่ใช่แค่มีค่าใดค่า 1
ข้อมูลอ้างอิงจาก :
http://www.srisangworn.go.th/home/databaselearnx/ms2t2-2.htm
http://www.srisangworn.go.th/home/databaselearnx/ms2t2-2.htm
วันอาทิตย์ที่ 31 มกราคม พ.ศ. 2559
To Do week3(Constraints)
What constraints does your selected DBMS support?
-SQL มีข้อจำกัดในการระบุลงในตาราง เพื่อให้การเลือกและการจัดเก็บข้อมูลใน database เป็นไปอย่างถูกต้อง อธิเช่น
โดยการระบุ constraints นั้นจะทำตั้งแต่การสร้างตาราง(created) หรือการแก้ไขรายละเอียดของตาราง(ALTER)เมื่อตารางนั้นได้ถูกสร้างขึ้นแล้ว
อ้างอิงจาก: http://www.w3schools.com/sql/sql_constraints.asp
How to specify them?
-SQL มีข้อจำกัดในการระบุลงในตาราง เพื่อให้การเลือกและการจัดเก็บข้อมูลใน database เป็นไปอย่างถูกต้อง อธิเช่น
- NOT NULL - คือการกำหนดให้ columns นั้น เป็น null ไม่ได้
- UNIQUE - คือการกำหนดให้ข้อมูลใน columns นั้นไม่สามารถซ้ำกันได้
- PRIMARY KEY - คือการกำหนดให้ columns นั้น เก็บค่า null ไม่ได้ และ มีข้อมูลที่ไม่ซ้ำกัน
- FOREIGN KEY - คือการกำหนดให้ columns นั้นเก็บข้อมูลเดียวกันกับ column ในtable อื่น เพื่อใช้เป็นตัวเชื่อมโยงกันระหว่าง table
- CHECK - คือการกำหนดให้ columns นั้นเก็บค่าที่เฉพาะเจาะจง
- DEFAULT - คือการระบุค่าเริ่มต้นสำหรับ columns นั้นๆ
โดยการระบุ constraints นั้นจะทำตั้งแต่การสร้างตาราง(created) หรือการแก้ไขรายละเอียดของตาราง(ALTER)เมื่อตารางนั้นได้ถูกสร้างขึ้นแล้ว
อ้างอิงจาก: http://www.w3schools.com/sql/sql_constraints.asp
How to specify them?
SQL CREATE TABLE + CONSTRAINT
CREATE TABLE table_name
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
);
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
);
ทดลองสร้างตาราง และกำหนดCONSTRAINT
รูปที่1 แสดงการสร้างตาราง และ แสดงรายละเอียดของตาราง
จากรูปที่1จะเห็นว่า
- id ให้เป็น PRIMARY KEY และไม่สามารถเก็บค่า null ได้
- name และ lastname ไม่สามารถเก็บค่า null ได้
- age กำหนดCONSTRAINT โดยใช้คำสั่ง CHECK ให้ข้อมูลที่ใส่ต้องมีค่ามากกว่า20
- status กำหนดค่า DEFAULT ให้เป็น S
ทอลองใส่ข้อมูล
จากรูปที่2จะเห็นว่า
- ถ้าเราไม่กำหนดค่าใน column status database จะเก็บข้อมูลเป็น s ซึ่งเป็นค่า DEFAULT ที่เราได้ตั้งไว้
- มีข้อผิดพลาดในการใช้ CONSTRAINT โดยใช้คำสั่ง CHECK เนื่องจากเรากำหนดให้ age>20 แต่ค่าที่เราใส่เค้าไปเป็น 19 *จะหาทางแก้ไขต่อไป
จากรูปที่3จะเห็นว่า
- ถ้าหากไม่ใส่ข้อมูลช่อง lastname จะไม่สามารถเพิ่มข้อมูลได้เนื่องจาก เรากำหนดCONSTRAINT ไม่ให้เก็บค่า null
- ในกรอบสีแดง เป็นการใส่ค่าที่มี id ซ้ำกับค่าที่อยู๋ table อยู่แล้ว ทำให้ไม่สามารถใส่ค่าไปยังตารางได้ เนื่องจาก id เป็น PRIMARY KEY ซึ่งค่าที่เก็บไว้นั้นไม่สามารถซ้ำกันได้
- ในกรอบสีเขียว เป็นการใส่ค่า โดยที่ id ไม่ซ้ำกัน แต่ name กับ lastname ซ้ำ แต่ยังสามารถใส่ค่าได้ เพราะ name และ lastname ไม่ได้ถูกกำหนดให้เป็น UNIQUE
วันเสาร์ที่ 30 มกราคม พ.ศ. 2559
To Do week2(cont. Try MySQL)
บทความนี้เป็นการนำเสนอการใช้งาน MySQL เบื่องต้น ต่อจาก บทความ To Do week2(Try MySQL)
ในบทความนี้จำนำเสนอ
1.วิธีการลบข้อมูลใน table
2.วิธีการUpdate ข้อมูล
3.วิธีการแก้ไขลักษณะของตัวแปรใน columns
4.วิธีการกำหนด PRIMARY KEY
1.วิธีการลบข้อมูลใน table
2.วิธีการUpdate ข้อมูล
3.วิธีการแก้ไขลักษณะของตัวแปรใน columns
4.วิธีการกำหนด PRIMARY KEY
1.วิธีการลบข้อมูลใน table
เริ่มแรกให้เข้าไปใน database ที่มีตารางที่เก็บข้อมูลที่เราต้องการลบ
รูปแสดงข้อมูลที่อยู่ใน table
หลังจากนั้นให้ใช้คำสั่ง delete from ชื่อtable(Vip) where ชื่อcolumn(name) =" Book";
รูปแสดงรายละเอียดข้อมูลของ table Vip
รูปแสดงข้อมูลที่อยู่ใน table หลังจากลบข้อมูล "Book" ไปแล้ว
*ปัญหาที่พบคือ เลข id ที่ถูกลบไปจะไม่ถูกแทนที่
2.วิธีการUpdate ข้อมูล
โดยในที่นี้จะทำการ Update เบอร์โทรศัพท์ของ Teng โดยใช้คำสั่ง
update vip
set phone="084-444-4444"
where name= "Teng";
รูปแสดงข้อมูลที่อยู่ใน table หลังจากUpdate เบอร์โทรศัพท์ของ Teng
3.วิธีการแก้ไขลักษณะของตัวแปรใน columns
เริ่มแรกรายละเอียดข้อมูลของ table Vip เป็นดังภาพ
ในที่นี้ต้องการเปลี่ยนแปลง column phone โดยดำหนดให้เป็น null ไม่ได้โดยใช้คำสั่ง
ALTER TABLE vip CHANGE phone phone varchar(100) not null;
4.วิธีการกำหนด PRIMARY KEY
กำหนด PRIMARY KEY สำหรับตารางที่เราได้สร้างไปแล้วนั้นมีการกำหนดPRIMARY KEY อยู่ก่อนแล้วคือ id
รูปแสดงรายละเอียดของ table vip
โดยในที่นี้ต้องการกำหนดให้ phone เป็น PRIMARY KEY ต้องทำการลบ PRIMARY KEY ตัวเก่าออกก่อน
โดยใช้คำสั่ง
ALTER TABLE vip
DROP PRIMARY KEY;
รูปแสดงรายละเอียดของการลบPRIMARY KEY
แต่เนื่องจาก colomn Id สามารถเป็น PRIMARY KEY ได้จากการนิยามค่าให้ตั้งแต่ตอนสร้างตารางทำให้ค่าไม่ซ้ำกัน จึงไม่สามารถลบออกจากการเป็นPRIMARY KEY ได้
จากคำสั่งที่ใช้สร้างตาราง Vip
create table VIP (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
phone VARCHAR(50));
จะเห็นว่ามีการกำหนด PRIMARY KEY ไว้ตั้งแต่ต้นแล้ว หากการสร้างตารางไม่ได้กำหนด PRIMARY KEY เอาไว้และต้องการ กำหนดPRIMARY KEY ภายหลังให้ใช้คำสั่ง
ALTER TABLE ชื่อtableADD PRIMARY KEY (ชื่อcolumn);
สมัครสมาชิก:
ความคิดเห็น (Atom)





