Database ແມ່ນຫຍັງ ?
ແນະນໍາ database ພື້ນຖານ
Database ຫຼື ເຮົາເອີ້ນກັນວ່າ ຖານຂໍ້ມູນ ຄື ກຸ່ມຂອງຂໍ້ມູນທີ່ຖືກເກັບລວມກັນໄວ້ ໂດຍມີຄວາມສໍາພັນຊຶ່ງກັນແລະກັນ ໂດຍບໍ່ໄດ້ບັງຄັບວ່າ ຂໍ້ມູນທັງໝົດຈະຕ້ອງເກັບໄວ້ໃນເອກະສານດຽວກັນຫຼືແຍກເກັບຫຼາຍໆແຟັມຂໍ້ມູນ.
ເວົ້າເຂົ້າໃຈງ່າຍ ກໍຄືການເກັບຂໍ້ມູນໃຫ້ ເປັນລະບົບລະບຽບ ໂດຍມີລະບົບຄວາມສໍາພັນລະຫວ່າງຂໍ້ມູນຕ່າງໆຢ່າງຈະແຈ້ງ ຍົກຕົວຢ່າງ : ຂໍ້ມູນນັກສືກສາ ຈະປະກອບໄປດ້ວຍ ຊື່ ລະຫັດນັກສືກ ວັນເດືອນປີເກີດ ເວລາເຮົາເພິ່ມ ເຮົາກໍຈະເພິ່ມເຂົ້າຕາມ ທີ່ເຮົາກໍານົດໄວ້.
— ລະຫັດ — ຊື່ — ອາຍຸ —
— 123 — boy — 19 —
— 111 — pon — 20 —
— 213 — jon — 21 —
ເມື່ອເຮົາຮູ້ວ່າ ຖານຂໍ້ມູນແມ່ນຫຍັງແລ້ວ ເຮົາກະຕ້ອງຮູ້ວ່າ ເຮົາສິຈັດການຖານຂໍ້ມູນແນວໃດ ຊຶ່ງໃນປັດຈຸປັນມີຫຼາຍ ເຄື່ອງມືໃນການ ຈັດການຖານຂໍ້ມູນ ແຕ່ມື້ນີ້ທາງຜູ້ຂຽນຈະຍົກເອົາພາສາ sql ມາສອນເພາະເປັນພາສາທີ່ເຂົ້າໃຈຫຼາຍ ແລະ ຮຽນຮູ້ໄດ້ໄວ
Sql ແມ່ນຫຍັງ ?
Sql ຈະຍໍມາຈາກ Structured Query Language ກະຄືພາສາທີ່ເອົາໄວ້ ຈັດການຫຼືບໍລິຫານຂໍ້ມູນ
ຖານຂໍ້ມູນທີ່ເຮົາວ່ານີ້ ເຮົາກໍຈະເອີ້ນວ່າ Relational database ( ຖານຂໍ້ມູນເຊິ່ງສໍາພັນ)
Sql ພື້ນຖານ
Table column record :
ໃນຖານຂໍ້ມູນແບບ Sql ຈະປະກອບໄປດ້ວຍ Table ກະຄືຕາງລາງ ເຊັ່ນ ເຮົາຕ້ອງການສ້າງຂໍ້ມູນປະຫວັດນັກສືກເຈົ້າກະຕ້ອງສ້າງ table ຊື່ວ່າ “ນັກສືກສາ” ແລະໃນ table ນັ້ນຈະປະກອບໄປດ້ວຍ column ຫຼື ເຮົາຈະເອີ້ນວ່າ field ກໍໄດ້ field ໃນທີ່ນີ້ ມີຄວາມໝາຍ ວ່າ ຊື່ກ່ຽວກັບຂໍ້ມູນທີ່ເຈົ້າຈະໃຫ້ຄວາມໝາຍ ເຊັ່ນວ່າ ຊື່ນັກສືກສາ ກະຄື 1 field ໃນ 1 table ຈະປະກອບໄປດ້ວຍ ຫຼາຍ field ເຊັ່ນ ຊື່ ອາຍຸ ລະຫັດ ວັນເດືອນປີເກີດ ບ້ານເກີດ ໆໆ ແລະ ໃນແຕ່ລະ field ຈະມີຂໍ້ທີ່ເຈົ້າບັນທືກໄວ້ ເຮົາກໍຈະເອີ້ນວ່າ record ຫຼື ແຖວ ນັ້ນເອງ .
Data types :
ໃນການສ້າງ field ຕາມທີ່ເຮົາຕ້ອງການໄດ້ນັ້ນເຮົາຕ້ອງຮູ້ຈັກ ວ່າ data type ແມ່ນຫຍັງ ?
ເວົ້າໃຫ້ເຂົ້າໃຈງ່າຍກໍຄື data type ຄືປະເພດຂໍ້ມູນທີ່ເຈົ້າຕ້ອງການບັນທືກໄວ້ ຍົກຕົວຢ່າງ :
ເຮົາຕ້ອງການສ້າງຂໍ້ມູນກ່ຽວກັບ ຄູ ຂໍ້ຄູເຮົາອາດຈະມີ ຊື່ ອາຍຸ ບ້ານເກີດ
ຊື່ : ນາງສຸພາພອນ ຊື່ໃນທີ່ນີ້ແນ່ນອນເຮົາຮູ້ແລ້ວ ວ່າມັນຕ້ອງເປັນຕົວອັກສອນ ທຸກໆຊື່ຕ້ອງເປັນຕົວອັກສອນ ສະນັ້ນ ເວົ້າແບບງ່າຍໆ data type ຫຼື ຊະນິດຂໍ້ມູນຂອງ field ກະຄືຕົວອັກສອນ
ອາຍຸ : 15 ປີ ອາຍຸເຮົາຮູ້ແລ້ວ ວ່າເປັນໄດ້ ແຕ່ຕົວເລກ ບໍ່ສາມາດເປັນຕົວອັກສອນໄດ້
ບ້ານ : ທ່າເມືອງ ເປັນຕົວອັກສອນ
ສະຫຼບກໍຄື ຊະນິດຂໍ້ມູນເປັນຕົວກໍານົດ ປະເພດ ວ່າຈະເປັນຕົວອັກສອນ ຕົວເລກ ຫຼື ອື່ນໆ ເພື່ອໃຫ້ ຂໍ້ທີ່ເພິ່ມເຂົ້າມາ ຖືກຕ້ອງການ ກົດເກນທີ່ເຮົາຕັ້ງໄວ້.
ຊະນິດຖານຂໍ້ມູນຕ່າງໆ ທີ່ຕ້ອງຮູ້:
- int ຄືຕົວເລກແບບບໍ່ມີເສດ ກໍຄືຕົວເລກຈໍານວນເຕັມ 1,2,3,4,5,6…-1,-2,-3,-4
- float ຈໍານວນຕົວເລກແບບມີຈຸດ 1.2 , 3.4 , 6.5 … -1.3 , 1133.444
- VARCHAR ຄື ຊະນິດຂໍ້ມູນແບບຕົວອັກສອນ ທີ່ເຮົາຕ້ອງກໍານົດຄວາມຍາວໃຫ້ ໄວ້ກໍານົດຂໍ້ມູນແບບຕົວອັກສອນທີ່ເຮົາຮູ້ປະມານຄວາມຍາວໄດ້ ເຊັ່ນ ຊື່ນາມສະກຸນ ໂຮງຮຽນ ໆໆ
- TEXT ຄືຊະນິດຕົວອັກສອນແບບ ບໍ່ຕ້ອງກໍານົດຄວາມຍາວ ສ່ວນຫຼາຍແມ່ນຈະໃຊ້ສໍາລັບ ຂໍ້ມູນທີ່ເຮົາບໍ່ຮູ້ກໍານົດທີ່ນອນ ໄດ້ ເຊັ່ນ ທີ່ຢູ່
- DATE ແມ່ນຊະນິດຂໍ້ມູນແບບ ວັນທີ່ເດືອນປີ ເຊັ່ນ 2018–09–11
ທົບທວນພື້ນຖານ ເຄື່ອງໝາຍ Logic
- ໃນ ພາສາ Sql ເຮົາສາມາດ ປຽບທຽບ ຖືກຜິດໄດ້ດ້ວຍເຄື່ອງໝາຍ Logic
- And ແມ່ນທຸກເງື່ອນໄຂຕ້ອງຖືກ ຈັງຖືກ ນອກນັ້ນຜິດ
- Or ແມ່ນມີຖືກອັນດຽວ ຖືກໝົດ
ພື້ນຖານ Key ໃນ Sql
- PRIMARY KEY
- PRIMARY KEY ຄື key ທີ່ເອົາໄວ້ບອກວ່າ field ນີ້ ຂໍ້ມູນ ໃນ field ນັ້ນ ຕ້ອງຫ້າມຄືກັນກັບ
- ຕົວຢ່າງເຮົາຕ້ອງການສ້າງຂໍ້ມູນນັກຮຽນ ແນ່ນອນເຮົາຕ້ອງມີລະຫັດນັກຮຽນ ເຊິ່ງລະຫັດນັກຮຽນແມ່ນຕ້ອງບໍ່ຄືກັນ ເຮົາເລີຍຕ້ອງກໍານົດ ລະຫັດນັກຮຽນ ເປັນ primary key ນັ້ນເອງ ເພື່ອ ກໍານົດກົດເກນ ໃນການເພິ່ມຂໍ້ມູນ
2. FOREIGN KEY
- FOREIGN KEY ຄື Key ໄວ້ເຊື່ອມ table ກັບ table ເຂົ້າດ້ວຍກັນ ຕາມແນວຄິດແບບ Relational database ( ຖານຂໍ້ມູນເຊິ່ງສໍາພັນ)
- ຕົວຢ່າງ : ເບິ່ງໃນຫົວຂໍ້ ສ້າງ table FOREIGN KEY // ສອນຕາມຫຼັງ ເພາະ ຍາກ ກັບ ສໍາຄັນຫຼາຍ
ຄໍາສັ່ງພື້ນຖານ Sql
- ການສ້າງ Table
create table table_name(column1 datatyp,column1 datatype,column1 datatype,….column1 datatype,PRIMARY KEY(one or more columns)
- ຕົວຢ່າງ 1 :
CREATE TABLE student(
id INT(2) PRIMARY KEY,
NAME VARCHAR(50)
);ຈາກຕົວຢ່າງແມ່ນເຮົາ ສ້າງ table ຊື່ວ່າ student ແລະມີ field id ເຊິ່ງເປັນຊະນິດຂໍ້ມູນແບບ ຕ້ອບບໍ່ຊ້ໍາກັນ ແລະ ອີກ field ແມ່ນ name ເປັນຊະນິດ ຕົວອັກສອນ ແລະມີຄວາມຍາວ ຂອງປະໂຫຍດແມ່ນ 50 ຄໍາ
- ຕົວຢ່າງ 2 :
CREATE TABLE sinhvien(
sv_id INT(10) PRIMARY KEY,
sv_name VARCHAR(50),
sv_namesinh DATE,
sv_daichi TEXT
)
2. ການເພິ່ມຂໍ້ມູນ
INSERT INTO table_name (column1, column2, column3, …)
VALUES (value1, value2, value3, …);ຕົວຢ່າງ :
ໃຫ້ຜູ້ອ່ານລອງຂຽນຕາມລະເພິ່ມຂໍ້ໃຫ້ໄດ້ແບບຕົວຢ່າງ
3. ການສະແດງຂໍ້ມູນ
SELECT column1, column2, …
FROM table_name;
- ຕົວຢ່າງ 1 :
select * from student
ແມ່ນການສະແດງຂໍ້ມູນ ທັ້ງໝົດໃນ table stdudent * ແມ່ນທຸກໆ field
- ຕົວຢ່າງ 2 :
select ID,name from student
ເຮົາສາມາດ ສະແດງ ສະເພາະແຕ່ field ທີ່ເຮົາຕ້ອງການໄດ້
4. ການລົບຂໍ້ມູນ