peri hokiperihokiclarustologisticsrimashaop.compola taktis menang gates of olympus x1000 perihokipemain perihoki bongkar trik jepep starlight princess x1000perihoki beri panduan lengkap bermain mahjong ways 2 pgsofttips cara penghasil uang pgsoft mahjong ways 2 perihokimahjong wins 3 perihoki memberikan penggali terbesarfenomena gates of olympus buka peluang besar bagi duta76cara dapat pola emas rahasia di duta7 wild west goldtrik menang pgsoft mahjong ways 2 modal receh maxwin duta76duta76 main pgsoft mahjong ways 2 di sela istirahatscatter hitam mahjong wins 3 spin pasti jepe duta76perihoki spin mahjong ways 2 pgsoft scatter hitam maxwinsimbol mahjong wins 3 yang sering muncul di awal perihokitrik gampang menang mahjong winscuan mahjong wins 3 tanpa hentipola spin taruhan kecil mahjong winsstrategi kunci scatter hitam beruntungacor total mahjong wayskemenangan maksimal mahjong wayskemenangan pria pekanbaru mahjong waysmahjong wins3 fenomena baru sumatera baratmenangkan mahjong dengan lincahmenembus batas keberuntungan mahjong waysmenjajal keberuntungan di mahjong wayspola gratis mahjong ways1scatter hitam senjata rahasia mahjong winsteknik spinning menguntungkan untuk scatter hitamanalisis rtp tertinggi mahjong winsfenomena scatter hitam mahjong winsibu rumah tangga dan keberuntungan mahjongkeseruan main mahjong wins3menang mahjong pengguna baru di sosial mediamenghargai setiap momen di mahjong waysserunya main mahjong di warung internetspin slow motion mancing scatterstrategi jitu maxwin mahjong waysstrategi jitu menang mahjong modal kecil jackpot besaranak kampung papua menggemparkan mahjongkeajaiban scatter hitam mahjong wayskeberhasilan joni mahjong winskejaiban mahjong ways di ujung jalanketua mahjong wins3 kehadiran kemenangan dimulai dari balimahjong kehadiran yang menguntungkanmahjong menggila adat88panduan kilat raih 108 jutatips memenangkan mahjongbarista kopi menang 110 juta spin mahjongdakota76 scatter hitam mahjong wins 3gagal cpns menang mahjong wins 3 rp120 jutakisah karyawan minimarket dapat thr lebih awal mahjong winskisah pelajar sma kuasai mahjong wins 3 inspirasi sekolahkisah penjaga parkir tanah abang motor baru mahjong winskisah sukses ibu rumah tangga bandung mahjong winsmahasiswa kkn beli iphone15 mahjong wins3 dakotamantan anak band influencer mahjong scatter hitampola rtp senin gates of olympus guru matematikaidola scatter hitam gampang meledakidola sensasi jackpotidola pola scatter hitamidola hasilkan jackpot dalam waktu singkatidola mahjong wins 3 bocortukang cuci motor menemukan keberuntungan di mahjong

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 282

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_cookie_params(): Cannot change session cookie parameters when headers already sent

Filename: Session/Session.php

Line Number: 294

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 304

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 314

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 315

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 316

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 317

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 375

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: drivers/Session_files_driver.php

Line Number: 108

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_save_handler(): Cannot change save handler when headers already sent

Filename: Session/Session.php

Line Number: 110

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_start(): Cannot start session when headers already sent

Filename: Session/Session.php

Line Number: 143

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

Các khái niệm cơ bản về cơ sở dữ liệu
KHỞI ĐẦU
CÁC MÔ HÌNH CSDL
ĐẠI SỐ QUAN HỆ
TỐI ƯU DỮ LIỆU
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Các khái niệm cơ bản về cơ sở dữ liệu

Những bài đầu tiên này có lẽ sẽ hơi nhàm chán với những bạn đã biết được các kiến thức cơ sở dữ liệu, nhưng những bạn mới vào nghề thì cũng nên đọc những bài này để có một cái nhìn tổng quát hơn, và sẽ không vướng mắc với những thuật ngữ về csdl trong quá trình học của mình. Trước tiên ta tìm hiểu các đối tượng sử dụng cơ sở dữ liệu.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Các đối tượng sử dụng Cơ sở dữ liệu

Người dùng cuối: Đây là đối tượng cuối cùng sử dụng hệ thống CSDL, đối tượng này không có kiến thức về quản trị hệ thống, nghĩa là không chuyên về lĩnh vực này nên họ cần một công cụ giúp quản trị, khai thác dữ liệu khi cần. Thông thường khi làm dự án thì khách hàng chính là đối tượng người dùng cuối.

Chuyên viên tin học: Chuyên xây dựng các công cụ, ứng dụng nhằm giúp người dùng cuối sử dụng khai thác cơ sở dữ liệu, đối tượng này ta gọi là Application User. Nếu bạn muốn sau này bạn sẽ là một coder chuyên xây dựng các ứng dụng website thì bạn chính là chuyên viên tin học.

Quản trị CSDL: Đối tượng này cần có kiến thức chuyên sâu về hệ quản trị cơ sở dữ liệu, biết ngôn ngữ cấu trúc truy vấn (T-SQL) ở mức rành rỏi. Công việc của đối tượng này là tổ chức hệ thống CSDL, bảo mật, phân quyền hay cấp quyền cho các đối tượng khác, backup phục hồi dữ liệu và bảo đảm an toàn dữ liệu. Nếu bạn muốn trở thành đối tượng này thì bạn phải nghiên cứu sâu các mô hình CSDL, các hệ quản trị CSDL và cần có kinh nghiệm thực tế rất cao.

Bài viết này được đăng tại [free tuts .net]

2. Các mức biểu diễn cơ sở dữ liệu

Tới đây mới thấy sự rườm rà của cơ sở dữ liệu rồi nhỉ wink, tuy rườm rà nhưng những kiến thức này giúp ta có quy trình thiết kế phần mềm (cơ sở dữ liệu) một cách nhanh và đầy đủ thông tin nhất, trong những bài sau ta sẽ tìm hiểu nó một cách đầy đủ hơn.

Mức trong (Mức vật lý - Physical): Ở mức này thông thường ta sẽ trả lời những câu hỏi ( CSDL cần giải quyết vấn đề gì? dữ liệu là gì? lưu trữ như thế nào? lưu trữ ở đâu? đánh chỉ mục như thế nào? truy vấn tuần tự hay ngẫu nhiên? ). Với mức này thì dành cho người chuyên môn về cơ sở dữ liệu (đối tượng quản trị CSDL).

Mức quan niệm (Conception hay Logical): trả lời các câu hỏi cần phải lưu trữ bao nhiêu loại dữ liệu, kiểu dữ liệu là gì và các mối liên hệ dữ liệu

Mức ngoài: đây là mức cao nhất dành cho người dùng cuối sử dụng và dành co các nhà phát triển phần mềm viết các chương trình ứng dụng nhằm quản ly CSDL.

Ở mỗi mức ta sẽ có những mô hình thiết kế CSDL khác nhau và ta sẽ tìm hiểu nó ở những bài sau nhé.

3. Các ngôn ngữ giao tiếp cơ sở dữ liệu

Với dân lập trình sẽ dễ hiểu ngôn ngữ lập trình dựa vào những mã lệnh để giao tiếp với máy, hệ quản trị CSDL cũng vậy, ta sẽ sử dụng những mã lệnh (cú pháp) mà nó có thể biên dịch được để giao tiếp xử lý các vấn đề liên quan đến quản lý cơ sở dữ liệu. Dưới dây là các ngôn ngữ đó:

  • Ngôn ngữ mô tả dữ liệu (DDL – Data Definition Language): Cho phép khai báo cấu trúc CSDL, các mối liên hệ dữ liệu, cấu trúc ràng buộc dữ liệu.
  • Ngôn ngữ thao tác dữ liệu (DML – Data Manipulation Language): cho phép thực hiện thao tác thêm, xóa, sửa dữ liệu.
  • Ngôn ngữ truy vấn có cấu trúc (SQL – Structured Query Language): cho phép người khai thác sử dụng để truy vấn thông tin cần thiết.
  • Ngôn ngữ quản lý dữ liệu (DCL – Data Control Language)  cho phép thay đổi cấu trúc bảng, khai báo bảo mật, cấp quyền cho người sử dụng.

Tôi sẽ lấy một ví dụ nho nhỏ về ngôn ngữ SQL.

Ví dụ: Lấy danh sách sinh viên lớp K34 khoa CNTT trường DHSP TP.HCM

Với ngôn ngữ bình thường thì ta dễ dàng biểu diễn nhưng với ngôn ngữ SQL thì ta sẽ dùng cú pháp riêng của nó. Giả sử đối tượng DANHSACH chứa danh sách sinh viên, cú pháp SELECT dùng để chọn, dấu sao (*) dùng để biểu diễn tất cả thông tin, FROM dùng để chỉ nơi lưu trữ. Vậy ta có câu truy vấn như sau:

SELECT * FROM DANHSACH (lấy tất cả dữ liệu từ danh sách sinh viên)

Trong ví dụ này chỉ mang tính tham khảo vì những cú pháp đó bạn chưa biết, ở những bài sâu hơn ta sẽ tìm hiểu về những cú pháp này một cách chi tiết.

4. Các mô hình dữ liệu

Bài này chỉ mang tính chất giới thiệu nên trọng tâm của từng phần ta sẽ tìm hiểu sau nhé. Dưới đây là danh sách các mô hình dữ liệu:

  • Mô hình dữ liệu mạng
  • Mô hình dữ liệu phân cấp
  • Mô hình dữ liệu thực thể mối kết hợp
  • Mô hình dữ liệu quan hệ
  • Mô hình dữ liệu hướng đối tượng

5. Lời kết

Trên là những khái niệm quan trọng trong quá trình học cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu, bài này chỉ mang tính chất tham khảo và là tiền đề cho những bài sau nên các bạn cũng nên dành chút thời gian đọc qua nhé.

Cùng chuyên mục:

Phiên làm việc là gì trong SQL

Phiên làm việc là gì trong SQL

Trong bài viết này mình sẽ giải thích phiên làm việc là gì trong SQL…

Ràng buộc Check trong SQL

Ràng buộc Check trong SQL

Bài này bạn sẽ được học cách tạo ràng buộc giá trị trong SQL bằng…

Khóa ngoại Foreign Key trong SQL

Khóa ngoại Foreign Key trong SQL

Trong bài này bạn sẽ được học cách tạo khóa ngoại Foreign Key bằng câu…

Primary Key trong SQL

Primary Key trong SQL

Bài này bạn sẽ được giới thiệu cách tạo khóa chính (Primary Key) thể hiện…

Create và Drop Database trong SQL

Create và Drop Database trong SQL

Bài viết này sẽ hướng dẫn bạn cách sử dụng lệnh Create Database để tạo…

Subquery trong SQL - truy vấn con

Subquery trong SQL - truy vấn con

Trong bài này mình sẽ nói đến một cách sử dụng câu truy vấn SLECT…

Self Join trong SQL

Self Join trong SQL

Mỗi phép Join đều phải có hai bảng table1 và table2, tuy nhiên có trường…

Right Join trong SQL

Right Join trong SQL

Chào các bạn, hôm nay mình sẽ tiếp tục nói đến phép Join trong SQL.…

Left Join trong SQL

Left Join trong SQL

Ở bài trước chúng ta đã được tìm hiểu Inner Join và biết được tại…

Inner JOIN trong SQL

Inner JOIN trong SQL

Ở bài trước chúng ta đã học hiểu cách truy vấn nhiều bảng trong SQL…

Toán tử BETWEEN và NOT BETWEEN trong SQL

Toán tử BETWEEN và NOT BETWEEN trong SQL

Toán tử BETWEEN dùng để kiểm tra một giá trị có nằm trong một khoảng…

Tìm hiểu ALIAS  (AS) trong SQL

Tìm hiểu ALIAS (AS) trong SQL

Trong bài này mình sẽ nói về cách đặt lại tên cho column, table bằng…

Tích đề các trong SQL

Tích đề các trong SQL

Trong bài này mình sẽ hướng dẫn các bạn cách truy vấn dữ liệu trên…

Gộp dữ liệu với UNION và UNION ALL trong SQL

Gộp dữ liệu với UNION và UNION ALL trong SQL

Có một số trường hợp bắt buộc bạn phải chạy hai câu truy vấn nên…

Lọc dữ liệu trùng với DISTINCT trong SQL

Lọc dữ liệu trùng với DISTINCT trong SQL

Đôi khi có những câu truy vấn có kết quả bị trùng lặp thì lúc…

Toán tử AND và OR trong SQL

Toán tử AND và OR trong SQL

Trong bài này chúng ta học hai toán tử có thể nói là được sử…

Toán tử IN và NOT IN trong SQL

Toán tử IN và NOT IN trong SQL

Trong bài này chúng ta sẽ học hai lệnh mới dùng để kiểm tra một…

Toán tử LIKE và NOT LIKE trong SQL

Toán tử LIKE và NOT LIKE trong SQL

Trong bài này chúng ta sẽ tìm hiểu lệnh LIKE, lệnh này dùng để so…

Sắp xếp dữ liệu với ORDER BY trong SQL

Sắp xếp dữ liệu với ORDER BY trong SQL

Nếu bạn muốn sắp xếp dữ liệu trả về theo tăng dần hoặc giảm dần…

Lệnh Delete trong SQL

Lệnh Delete trong SQL

DELETE FROM posts WHERE post_id > 7000 AND post_content IS NOT NULL;

Top