Tìm hiểu các hệ quản trị cơ sở dữ liệu mã nguồn mở. Nghiên cứu, triển khai và sử dụng hệ quản trị cơ sở dữ liệu mã nguồn mở MySQL.Đặc điểm của MySQL,Lịch sử phát triển MySQL.Hướng dẫn cài đặt MySQL,Ưu điểm,nhược điểm của phần mềm mã nguồn mở
Trang 1ĐẠI HỌC MỎ - ĐỊA CHẤTKHOA CÔNG NGHỆ THÔNG TIN
Giảng viên: ThS Đặng Văn Nam
Trang 2Chương I
Tìm hiểu các hệ quản trị cơ sở dữ liệu
Mã nguồn mở
1.Giới thiệu về HQTCSDL MNM 2.Giới thiệu một số HQTCSDL MNM
Chương II HQTCSDL mã nguồn mở MySQL1.Tìm hiểu MySQL
2.Ứng dụng HQTCSDL MySQL với đề tài :
Quản lý thư viện
HQTCSDL MÃ NGUỒN MỞ
Trang 3Quản lý người sử dụng và quyền truy cập tới
lược đồ dữ liệu/dữ liệu
HQTCSDL(Database
Management System DBMS) được thiết kế để quản lý khối lượng dữ liệu
lớn
HQTCSDL MÃ NGUỒN MỞ
Trang 4ƯU ĐiỂM
1 Quản lý được dữ
liệu dư thừa.
2 Đảm bảo tính nhất
quán cho dữ liệu.
3 Tạo khả năng chia
sẻ dữ liệu nhiều hơn
4 Cải tiến tính toàn
NHƯỢC ĐiỂM
HQTCSDL MÃ NGUỒN MỞ
Trang 5dữ liệu ở cấp
độ vật lý.
Disk manager
Thành phần này có nhiệm vụ chịu trách nhiệm phục vụ tất
cả các yêu cầu về
dữ liệu.Nó sẽ liên
hệ với disk manager để lấy các khối dữ liệu từ đĩa File manager
HQTCSDL MÃ NGUỒN MỞ
Trang 6MỘT SỐ HQTCSDL MÃ NGUỒN MỞ
Trang 7Firebird SQL
Firebird SQL là phần
mềm mã nguồn mở đáp ứng nhu cầu khai thác hệ thống máy chủ với CPU nhiều nhân, nhiều CPU, trong môi trường với số lượng lớn người dùng và
cơ sở dữ liệu với dung
lượng lớn.
Trang 8Một số tính năng nổi bật
Đáp ứng nhu cầu khai thác máy chủ
Truy vấn đông thời nhiều cơ
sở dữ liệu
Firebird SQL
Trang 9HSQLDB(HyperSQL DataBase)
- Là phần mềm cơ sở dữ liệu
quan hệ SQL hàng đầu được
viết bằng Java.
- Nó thực hiện nhanh chóng cơ
sở dữ liệu đa luồng và giao dịch
với các bảng trong bộ nhớ dựa
Trang 10Windows, Linux và Unix
Trang 114 Hỗ trợ hard-coded,table- based, người
sử dụng cơ sở dữ liệu và máy chủ
5 Ghi mức độ bảo mật và hỗ trợ ngôn ngữ
Tính năng của MaxDB
Trang 12California phát triển.
PostgreSQL
Trang 13Năm 1989 phiên bản 1 đã được một số người sử dụng
Năm 1990 phiên bản 2 ra đời,1991 phiên bản 3 ra đời
Phiên bản cuối cùng là phiên bản 4.2
6
PostgreSQL
Trang 14PostgreSQL có thể chạy trên tất cả các
hệ điều hành, bao gồm cả Linux, UNIX
(AIX,BSD, HP-UX, SGI IRIX, Mac OS X,
Solaris, Tru64), và Windows
Hệ quản trị cơ sở dữ liệu này được sử dụng
thông qua giao diện của các ngôn
ngữ C / C + +, Java, Net, Perl, Python, Ruby, Tcl, ODBC…
PostgreSQL
Trang 15Ưu Điểm
Có đầy đủ các ưu điểm của phần
mềm mã nguồn mở.
Chạy trên nhiều hệ điều hành
khác nhau như Windown, unix,
Linux, Ubuntu…
Đảm bảo đầy đủ các tính năng
của một hệ quản trị cơ sở dữ liệu
Hỗ trợ nhiều loại ngôn ngữ lập
PostgreSQL
Trang 16Hadoop là một dự án
phần mềm mã nguồn mở
đáng tin cậy của Apache,
có khả năng mở rộng, hỗ trợ tính toán phân tán với dữ liệu rất lớn ( Tera byte, Peta byte, Exa byte).
Mã nguồn Hadoop được viết bằng Java Tuy
nhiên nhờ cơ chế streaming, Hadoop cho
phép phát triển các dụng phân tán bằng cả
java lẫn một số ngôn ngữ lập trình khác như
C++, Python, Pearl…
Hadoop
Trang 17Hadoop cung cấp một hệ thống quản lý file phân tán
gọi là HDFS (Hadoop Distribute File System)
Hadoop là Linux-based nên nó chỉ hỗ trợ môi
Trang 182005
2004-2008
5/2009
Lịch Sử
ứng dụng kiến trúc GFS vào cài đặt hệ
thống file phân tán nguồn mở (NDFS
Nutch Distriuted File System) Phiên
bản MapReduce trên Nutch ra đời
Hadoop lên thành dự án ở to-level Apache Software Foundation.
được sử dụng rộng rãi ở nhiều công ty như Yahoo!, Last.fm, facebook, New York Times…
Hadoop để sắp xếp một Tetabyte dữ liệu trongvòng 62s.
Hadoop bắt
nguồn từ Nutch
bắt đầu dự án.
Hadoop
Trang 19Các thành phần của Hadhoop
Một hadoop gồm 2 thành phần chính: HDFS và
MapReduce
Hadoop
Trang 20mã hóa dữ liệu mức mạng -HDFS không hiệu quả để xử lý các tập tin nhỏ
-MapReduce không thích hợp để sử dụng các trường hợp có nhu cầu truy cập dữ liệu thời gian thực -MapReduce khó biểu diễn dữ liệu đầu ra theo nhu cầu cần sử dụng
Trang 21Các công ty sử dụng hadoopHadoop
Trang 22MongoDB(bắt nguồn từ “humongous”) thuộc phần mềm NoSQL viết bằng C++.MongoDB tỏ
ra đặc biệt hiệu quả với những dự án mà tỉ lệ
lượng dữ liệu ghi vào CSDL lớn hơn lượng
Trang 24MySQL 1
Cài đặt MySQL
Lịch sử phát triển MySQL
Trang 25Khái niệm về MySQL
o MySQL là :
• Một HQTCSDL mã nguồn
mở
• Một HQTCSDL quan hệ
• Được phát triển và phân
phối bởi MySQL AB
-Có tốc độ truy xuất nhanh và uyển chuyển MySQL được phát triển phổ biến cho hệ điều hành Linux,
Windows
-MySQL cũng giống như các HQTCSDL : Access, SQL Sever, PostgreSQL, Oracle,…
Trang 26- MySQL có nhiều phiên bản cho các hệ điều hành
khác nhau: phiên bản Win32 cho các HĐH dòng Windows, Linux, Mac OS X, Unix, Solaris, …
- Là HQTCSDL có tốc độ cao và ổn định, dễ sử
dụng, linh hoạt, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất
mạnh
- Với tốc độ và tính bảo mật cao MySQL thích hợp
cho truy cập CSDL trên internet
- MySQL hoạt động trong các hệ thống nhúng hoặc
client/server
Các đặc điểm của MySQL
Trang 27Tính thực thi cao
Hỗ trợ giao dịch mạnh
Sự phát triển ứng dụng hỗn hợp
MySQL
Chế độ bảo mật cao
Trang 28Oracle mua lại Sun MicroSystems
Sun MicroSystems mua lại
Trang 29Cài đặt MySQL - Dowload
• Để tải ứng dụng MySQL ta truy cập vào địa chỉ
trang web http://dev.mysql.com/dowloads/.
• Hiện nay phiên bản mới nhất của MySQL là
5.6.21.1 beta, tuy nhiên phiên bản được khuyến cáo sử dụng là phiên bản 5.1.
• Để sử dụng MySQL Sever tải 2 chương trình
MySQL Sever và MySQL Workbench.
(Do MySQL Sever ban đầu giao diện rất khó
dụng nên cài thêm MySQL Workbench nhằm lấy về giao diện ứng dụng).
Trang 30- Mở chương trình cài đặt
Cài đặt MySQL – Cài đặt
- Nhấn next
Trang 31- Tiếp tục nhấn next
Cài đặt MySQL – Cài đặt
Trang 32- Tiếp tục nhấn next
Cài đặt MySQL – Cài đặt
Trang 33- Tiếp tục nhấn next
Cài đặt MySQL – Cài đặt
Trang 34- Tạo tài khoản root với password
Cài đặt MySQL – Cài đặt
Trang 35- Mở MySQL 5.6 Command Line Client
Cài đặt MySQL – Cài đặt
Trang 36- Giao diện ban đầu của MySQL Sever
Nhập password với tài khoản root
Cài đặt MySQL – Cài đặt
-Nhập theo cú pháp :
Trang 37-Giao diện của MySQL Workbench
Cài đặt MySQL – Cài đặt
Trang 38Cài đặt MySQL – Người dùng
Cấp quyền cho người dùng
-Với quyền root ta có thể thực hiện mọi thao tác trên CSDL: select, update, insert, delete,…
-Tuy nhiên khi tạo quyền người dùng ta cũng có thể hạn chế bớt một số quyền nhất định nào đó
Xóa quyền hoặc tài khoản người dùng
-Có thể thêm hoặc bỏ một số quyền nào đó -Với việc truy cập vào tài khoản Root : có thể xóa các tài khoản người dùng đã đươc tạo ra
Trang 39Cài đặt MySQL – Các kiểu dữ liệu
1 Kiểu numberic
o.Kiểu dữ liệu số nguyên :
o.Kiểu dữ liệu dấu chấm động
Trang 40Cài đặt MySQL – Các kiểu dữ liệu
2.Kiểu dữ liệu date and time
o Cho phép nhập dưới dạng chuỗi hoặc dạng số.
Trang 41Cài đặt MySQL – Các kiểu dữ liệu
2.Kiểu dữ liệu String
Trang 42Cài đặt MySQL – Các phát biểu SQL thao tác DL
o Hàm thống kê :
• AVG: lấy giá trị trung bình.
• COUNT: đếm bản ghi.
• MIN: lấy giá trị nhỏ nhất.
• MAX: lấy giá trị lớn nhất.
• Period_Diff(ngày đầu, ngày cuối): trả về số ngày trong
khoảng thời gian ngày đầu và ngày cuối.
• …
Trang 43Cài đặt MySQL – Các phát biểu SQL thao tác DL
o Hàm xử lý chuỗi:
• ASCII: trả về mã ASCII cảu ksy tự bên trái của chuỗi
• Char(number):chuyển đổi từ số nguyên sang dạng
chuỗi
• Upper(string): chuyển đổi từ chuỗi sang chữ hoa
• Lower(string): chuyển chuỗi sang chữ thường
• Len(string): trả về chiều dài của chỗi
• Ltrim(string): loại bỏ khoảng trắng bên trái của chuỗi
• Rtrim(string): loại bỏ khoảng trắng bên phải của chuỗi
• Left(string,n): trả về chuỗi bên trái từ đầu đến vị trí n
• Right(string,n): trả về chuỗi bên phải từ cuối đến n
• Instr(chuoi 1, chuoi 2): trả về vị trí chuỗi bắt đầu của
chuỗi 1 trong chuỗi 2
Trang 44Cài đặt MySQL – Các phát biểu SQL thao tác DL
Trang 45Cài đặt MySQL – Các phát biểu SQL thao tác DL
o Cơ sở dữ liệu
• Tạo CSDL: CREATE DATABASE database_name
• Đổi tên: ALTER DATABASE database_name
MODIFY NAME = newmydatabase
• Xóa CSDL: DROP DATABASE database_name
o Table
• Tạo bảng: * USE table_name;
* CREATE TABLE table_name;
• Sửa bảng: ALTER TABLE table_name ADD;
• Xóa bảng: DROP TABLE table_name;
o Ngoài ra một số thao tác với các column và dữ liệu
trong bảng :
Trang 46Cài đặt MySQL – Các phát biểu SQL thao tác DL
• Select dữ liệu: SELECT các trường
FROM tên bảng WHERE các điều kiện;
• Insert dữ liệu vào table
Trang 47Cài đặt MySQL – Các phát biểu SQL thao tác DL
Trang 48Thank You !