SlideShare a Scribd company logo
1 of 47
Download to read offline
Database
Th.S Trần Đức Lợi
Pythonvietnam.info
Ôn tập bài cũ
• Ôn lại nội dung đã học về Class
• Chữa bài ConfigLoaderClass
PythonBeginnerClass @loitd
#pythonvietnam.info
Mục đích bài học
• Tìm hiểu về làm việc với Database trong
python
– Database introduction
– SQL
– MySQL
– Redis
PythonBeginnerClass @loitd
#pythonvietnam.info
Database
• Cơ sở dữ liệu là một tập hợp có tổ chức của
dữ liệu
• Để quản lý cơ sở dữ liệu ta cần DBMS
(Database Management System)
• Các cơ sở dữ liệu phổ biến: Oracle, MySQL,
SQLite, SQLServer, Postgres, …
PythonBeginnerClass @loitd
#pythonvietnam.info
Database
• 4 loại CSDL chính:
– Hierarchical
– Network
– Relational
– Object Relational
PythonBeginnerClass @loitd
#pythonvietnam.info
Database
• Lưu trữ thông tin về tất cả các thành viên
trong công ty, trường học, bệnh viện, …
• Relational DB:
– Employee table
– Department table
– Salary table
PythonBeginnerClass @loitd
#pythonvietnam.info
Database
• Database: chứa nhiều bảng
• Table: còn được gọi là Relation, bao gồm
tuples và attributes
• Tuple (row): Một tập hợp các trường đại diện
cho một phần tử
• Attribute (column, field): Một trường đại diện
cho một thuộc tính của các phần tử
PythonBeginnerClass @loitd
#pythonvietnam.info
Database
EMPLOYEE_ID FIRST_NAME LAST_NAME DEPT_ID EMAIL
1001 Loi Tran 99 loitd@pythonvi
etnam.info
1002 John Hei 98 john@pythonvi
etnam.info
PythonBeginnerClass @loitd
#pythonvietnam.info
Department_ID Dept_name Manager_ID
99 Kế Toán 1001
98 HT 1005
Database: Key
• Primary Key
– Định nghĩa một bản ghi duy nhất
– Phải là giá trị duy nhất
– Không thể chứa giá trị NULL
– Mỗi bảng đều nên có chỉ 1 primary key
• Foreign Key
– Trỏ tới một primary key của một bảng khác
PythonBeginnerClass @loitd
#pythonvietnam.info
Database: SQL
• Để query dữ liệu từ DB
• Structured query language
• Là ngôn ngữ tuân theo chuẩn ANSI thao tác
trên CSDL quan hệ (relational database)
PythonBeginnerClass @loitd
#pythonvietnam.info
SQL
• Query dữ liệu
• Thêm mới, sửa, xóa các dòng dữ liệu trong
bảng
• Tạo mới, thay thế, chỉnh sửa và drop các đối
tượng
• Quản lý truy nhập
PythonBeginnerClass @loitd
#pythonvietnam.info
SQL
• Data Manipulation Language
– Select
– Insert
– Update
– Delete
– Merge
• Data Definition Language
– Create
– Alter
– Drop
– Rename
– Truncate
– comment
PythonBeginnerClass @loitd
#pythonvietnam.info
SQL
• Data Control Language
– Grant
– Revoke
• Transaction Control
– Commit
– Rollback
– Savepoint
PythonBeginnerClass @loitd
#pythonvietnam.info
MySQL
• Open-source database
• Community Edition
• Standard Edition
• Enterprise Edition
• MySQL Cluster Carrier Grade Edition
PythonBeginnerClass @loitd
#pythonvietnam.info
MySQL
• Cài đặt:
– http://www.wampserver.com/en/
– https://www.apachefriends.org/index.html
– https://www.mamp.info/en/
PythonBeginnerClass @loitd
#pythonvietnam.info
SQL: Select
• Lấy dữ liệu từ DB
• Column alias
• Distinct keyword
• Select * | distinct | column | expression alias
from Table
PythonBeginnerClass @loitd
#pythonvietnam.info
SQL: where
• Giới hạn số lượng dữ liệu bằng điều kiện
• SELECT column,column
FROM table
WHERE column = value;
PythonBeginnerClass @loitd
#pythonvietnam.info
SQL: Update
• Cập nhật dữ liệu cho DB
• UPDATE table
SET column1=value1,column2=value2,...
WHERE column=value;
PythonBeginnerClass @loitd
#pythonvietnam.info
SQL: Insert
• Thêm dữ liệu vào trong bảng
• INSERT INTO table
VALUES (value1,value2,value3,...);
• INSERT
INTO table (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
PythonBeginnerClass @loitd
#pythonvietnam.info
SQL: Delete
• Xóa dữ liệu trong database
• DELETE FROM table
WHERE column=value;
PythonBeginnerClass @loitd
#pythonvietnam.info
Python & MySQL
• Cài đặt thư viện MySQLdb để làm việc với
MySQL
• Windows:
– http://sourceforge.net/projects/mysql-python/
• Linux:
– sudo apt-get install python-mysqldb
PythonBeginnerClass @loitd
#pythonvietnam.info
MySQLdb: connect()
• Mở kết nối tới DB:
– connect(host="localhost",user="root",passwd="",
db="cdcol")
• Lấy con trỏ:
– cur = con.cursor()
PythonBeginnerClass @loitd
#pythonvietnam.info
MySQLdb: Close()
• Đóng kết nối:
– cur.close()
– con.close()
• Commit và rollback dữ liệu:
– con.commit()
– con.rollback()
PythonBeginnerClass @loitd
#pythonvietnam.info
MySQLdb: Bài tập
• Hãy sử dụng configloader để load thông số DB
và thực hiện kết nối tới DB MySQL
PythonBeginnerClass @loitd
#pythonvietnam.info
MySQLdb: Select
• Thực thi câu select:
– cur.execute(sql)
• Fetch dữ liệu
– row1 = cur.fetchone()
– rows = cur.fetchall()
PythonBeginnerClass @loitd
#pythonvietnam.info
MySQLdb: Insert
• Thực thi câu lệnh Insert
• try:
• cur.execute(sql3, data2insert)
• con.commit()
• except Exception, e:
• con.rollback()
• print e
PythonBeginnerClass @loitd
#pythonvietnam.info
MySQLdb: Update
• try:
• cur.execute(sql4)
• con.commit()
• except Exception, e:
• con.rollback()
• print e
PythonBeginnerClass @loitd
#pythonvietnam.info
MySQLdb: Bài tập
• Lấy dữ liệu từ file config, kết nối vào DB, in
toàn bộ dữ liệu của DB, cho người dùng chọn
lựa sửa, xóa 1 row bất kỳ
• (Quản lý học sinh)
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis
• Cài đặt redis trên windows
– Redis.io
– https://github.com/rgl/redis/downloads
– Apt-get install redis-server
• Pip install redis
• Import redis
• Hiểu 4 loại lưu trữ hay gặp trên redis
– Strings
– Lists
– Sets
– hashs
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis
• Redis is an open source, BSD licensed,
advanced key-value cache and store. It is
often referred to as a data structure
server since keys can
contain strings, hashes, lists, sets,sorted
sets, bitmaps and hyperloglogs.
• Nguồn redis.io
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: key
• Có thể sử dụng bất kỳ binary sequence nào
làm key
• Kích thước lớn nhất cho phép là 512MB
• Không nên đặt quá dài (1 key dài 1MB, …)
– Tốn bộ nhớ
– Tra cứu khó khăn
– Truyền tải giá trị qua môi trường mạng -> tốn
băng thông
– Không cần thiết
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: Key TTL
• Cú pháp:
– Expire key time
– Hoặc set key ‘abc’ ex time
• Đơn vị tính seconds
• Lệnh ttl key để xem thời gian còn sống của 1
key
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: Key
• Xóa một key bằng lệnh del key
• Xem kiểu dữ liệu của một key bằng lệnh: type
key
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: String types
• Là kiểu dữ liệu cơ bản nhất
• Giống với dữ liệu của Memcached
• Giá trị không lớn hơn 512MB
• Giá trị có thể là chuỗi, chuỗi binary, …
• Câu lệnh làm việc cơ bản: SET, GET, INCR,
DECR, MSET, MGET, …
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: List
• List trong redis là 1 dãy các phần tử sắp xếp
nối nhau: 1,2,3,4,5,…
• Linked list # Array: thời gian thêm mới phần tử
không phụ thuộc vào số lượng phần tử
• Ưu điểm: tốc độ thêm mới phần tử
• Hạn chế của list: tốc độ truy cập phần tử
(ngược lại với sorted sets)
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: list
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: List
• Ứng dụng
– Lấy danh sách các công việc/ updates/ feeds mới
nhất của 1 user
– Giao tiếp giữa 2 processes theo mô hình
consumer-producer
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: connect
• r = redis.StrictRedis(host='localhost',
port=6379, db=0)
• Mỗi một instance của redis sẽ tự tạo một
connection pool để quản lý kết nối tới redis
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: Connect
• ConnectionPool:
• pool = redis.ConnectionPool(host='localhost',
port=6379, db=0)
• s= redis.Redis(connection_pool=pool)
• -> sử dụng pool chung
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: Key-value
• #single key
• r.set('f', 'you')
• print r.get('f')
• Sử dụng lệnh get/set tương ứng với redis
client
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: list
• #list
• r.lpush('lst1', 'San Loeo')
• r.lpush('lst1', 'San Loeo')
• print r.lrange('lst1', 0, -1)
• r.rpop('lst1')
• print r.lrange('lst1', 0, -1)
• Sử dụng các lệnh lpush, rpop để làm việc với
list
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: Bài tập
• Dựng module kết nối với redis và thực hiện
các thao tác với list và key-value dưới dạng
OOP
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: Pub/Sub
• Mô hình Publish/Subscribe
• Đối tượng PubSub trong redis-py
• Khai báo một pubsub mới
– Ps = s.pubsub()
– Ps.subscribe(‘pyvn-chnl’, ‘chnl-2’)
– Ps.get_message()
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: pub/sub
• Publish một message
– S.publish(‘chnl’, ‘I am Loi’)
• Unsubcribe kênh:
– Ps.unsubscribe(‘chnl’)
– Ps.unsubscribe()
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: Pub/Sub
• Ps.close()
• Sau khi làm việc xong với một đối tượng
pubsub
PythonBeginnerClass @loitd
#pythonvietnam.info
Redis: Pub/Sub
• Xây dựng lại bài tập redis với pub/sub kết nối
vào redis sử dụng connection pool
PythonBeginnerClass @loitd
#pythonvietnam.info
Tổng kết bài học
• SQL
• MySQL
• Redis
PythonBeginnerClass @loitd
#pythonvietnam.info

More Related Content

What's hot

Python Beginner Class day-15-networking
Python Beginner Class day-15-networkingPython Beginner Class day-15-networking
Python Beginner Class day-15-networkingKhánh Nguyễn
 
Oop unit 11 input và output
Oop unit 11 input và outputOop unit 11 input và output
Oop unit 11 input và outputTráng Hà Viết
 
Oop unit 04 các kỹ thuật xây dựng lớp
Oop unit 04 các kỹ thuật xây dựng lớpOop unit 04 các kỹ thuật xây dựng lớp
Oop unit 04 các kỹ thuật xây dựng lớpTráng Hà Viết
 
Oop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quátOop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quátTráng Hà Viết
 
Oop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnOop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnTráng Hà Viết
 
Oop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng caoOop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng caoTráng Hà Viết
 
ỨNG DỤNG NGÔN NGỮ R TRONG PHÂN TÍCH DỮ LIỆU.pdf
ỨNG DỤNG NGÔN NGỮ R TRONG PHÂN TÍCH DỮ LIỆU.pdfỨNG DỤNG NGÔN NGỮ R TRONG PHÂN TÍCH DỮ LIỆU.pdf
ỨNG DỤNG NGÔN NGỮ R TRONG PHÂN TÍCH DỮ LIỆU.pdfjackjohn45
 
Oop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừaOop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừaTráng Hà Viết
 
Lappj trình hướng đối tượng
Lappj trình hướng đối tượngLappj trình hướng đối tượng
Lappj trình hướng đối tượngHưởng Nguyễn
 
Lesson 04 : Actionscript 3 Overview
Lesson 04 : Actionscript 3 OverviewLesson 04 : Actionscript 3 Overview
Lesson 04 : Actionscript 3 OverviewHallo Patidu
 
Oop unit 03 xây dựng lớp
Oop unit 03 xây dựng lớpOop unit 03 xây dựng lớp
Oop unit 03 xây dựng lớpTráng Hà Viết
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921tienhien110293
 
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...MasterCode.vn
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcmHong Phuoc Nguyen
 

What's hot (20)

Python Beginner Class day-15-networking
Python Beginner Class day-15-networkingPython Beginner Class day-15-networking
Python Beginner Class day-15-networking
 
Oop unit 11 input và output
Oop unit 11 input và outputOop unit 11 input và output
Oop unit 11 input và output
 
Oop unit 10 ngoại lệ
Oop unit 10 ngoại lệOop unit 10 ngoại lệ
Oop unit 10 ngoại lệ
 
Oop unit 02 java cơ bản
Oop unit 02 java cơ bảnOop unit 02 java cơ bản
Oop unit 02 java cơ bản
 
Oop unit 04 các kỹ thuật xây dựng lớp
Oop unit 04 các kỹ thuật xây dựng lớpOop unit 04 các kỹ thuật xây dựng lớp
Oop unit 04 các kỹ thuật xây dựng lớp
 
Oop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quátOop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quát
 
Oop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnOop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiện
 
Oop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng caoOop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng cao
 
Oop unit 08 đa hình
Oop unit 08 đa hìnhOop unit 08 đa hình
Oop unit 08 đa hình
 
ỨNG DỤNG NGÔN NGỮ R TRONG PHÂN TÍCH DỮ LIỆU.pdf
ỨNG DỤNG NGÔN NGỮ R TRONG PHÂN TÍCH DỮ LIỆU.pdfỨNG DỤNG NGÔN NGỮ R TRONG PHÂN TÍCH DỮ LIỆU.pdf
ỨNG DỤNG NGÔN NGỮ R TRONG PHÂN TÍCH DỮ LIỆU.pdf
 
Oop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừaOop unit 07 các kỹ thuật kế thừa
Oop unit 07 các kỹ thuật kế thừa
 
Oop unit 06 kế thừa
Oop unit 06 kế thừaOop unit 06 kế thừa
Oop unit 06 kế thừa
 
Lappj trình hướng đối tượng
Lappj trình hướng đối tượngLappj trình hướng đối tượng
Lappj trình hướng đối tượng
 
Lesson 04 : Actionscript 3 Overview
Lesson 04 : Actionscript 3 OverviewLesson 04 : Actionscript 3 Overview
Lesson 04 : Actionscript 3 Overview
 
7 stl c++
7   stl c++7   stl c++
7 stl c++
 
Oop unit 03 xây dựng lớp
Oop unit 03 xây dựng lớpOop unit 03 xây dựng lớp
Oop unit 03 xây dựng lớp
 
Thu vien chuan c++
Thu vien chuan c++Thu vien chuan c++
Thu vien chuan c++
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
 
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcm
 

Viewers also liked

Chuyen de flask -- pythonvietnam.info
Chuyen de flask  -- pythonvietnam.info Chuyen de flask  -- pythonvietnam.info
Chuyen de flask -- pythonvietnam.info Khánh Nguyễn
 
Bai 1 pythonvietnam.info
Bai 1   pythonvietnam.infoBai 1   pythonvietnam.info
Bai 1 pythonvietnam.infoKhánh Nguyễn
 
Slide Python Bai 2 pythonvietnam.info
Slide Python Bai 2   pythonvietnam.infoSlide Python Bai 2   pythonvietnam.info
Slide Python Bai 2 pythonvietnam.infoKhánh Nguyễn
 
Git Using - pythonvietnam.info
Git Using - pythonvietnam.infoGit Using - pythonvietnam.info
Git Using - pythonvietnam.infoKhánh Nguyễn
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTMasterCode.vn
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTMasterCode.vn
 
Bai giang cau truc may tinh40
Bai giang cau truc may tinh40Bai giang cau truc may tinh40
Bai giang cau truc may tinh40Phi Phi
 
Bottle web framwork for python
Bottle web framwork for pythonBottle web framwork for python
Bottle web framwork for pythonKhánh Nguyễn
 
Lập trình Python GUI vs PySide
Lập trình Python GUI vs PySideLập trình Python GUI vs PySide
Lập trình Python GUI vs PySideChien Dang
 
Nlp lap trinh ngon ngu tu duy
Nlp lap trinh ngon ngu tu duyNlp lap trinh ngon ngu tu duy
Nlp lap trinh ngon ngu tu duyĐặng Vui
 
Email là gì? 5 bí quyết giúp bạn giao tiếp qua email hiệu quả nhất
Email là gì? 5 bí quyết giúp bạn giao tiếp qua email hiệu quả nhấtEmail là gì? 5 bí quyết giúp bạn giao tiếp qua email hiệu quả nhất
Email là gì? 5 bí quyết giúp bạn giao tiếp qua email hiệu quả nhấtFreelancer
 
Bài tập CTDL và GT 4
Bài tập CTDL và GT 4Bài tập CTDL và GT 4
Bài tập CTDL và GT 4Hồ Lợi
 
Lap trinh-huong-doi-tuong-bang-c#
Lap trinh-huong-doi-tuong-bang-c#Lap trinh-huong-doi-tuong-bang-c#
Lap trinh-huong-doi-tuong-bang-c#Thanhlanh nguyen
 
Học viện Kỹ năng Masterskills - 7 Bí Quyết Vượt Qua "Ải" Phỏng Vấn Xin Việc
Học viện Kỹ năng Masterskills  -  7 Bí Quyết Vượt Qua "Ải" Phỏng Vấn Xin ViệcHọc viện Kỹ năng Masterskills  -  7 Bí Quyết Vượt Qua "Ải" Phỏng Vấn Xin Việc
Học viện Kỹ năng Masterskills - 7 Bí Quyết Vượt Qua "Ải" Phỏng Vấn Xin ViệcMasterSkills Institute
 
Lap trinh c_tu_co_ban_den_nang_cao
Lap trinh c_tu_co_ban_den_nang_caoLap trinh c_tu_co_ban_den_nang_cao
Lap trinh c_tu_co_ban_den_nang_caoHuy Nguyễn
 

Viewers also liked (17)

Chuyen de flask -- pythonvietnam.info
Chuyen de flask  -- pythonvietnam.info Chuyen de flask  -- pythonvietnam.info
Chuyen de flask -- pythonvietnam.info
 
Bai 1 pythonvietnam.info
Bai 1   pythonvietnam.infoBai 1   pythonvietnam.info
Bai 1 pythonvietnam.info
 
Slide Python Bai 2 pythonvietnam.info
Slide Python Bai 2   pythonvietnam.infoSlide Python Bai 2   pythonvietnam.info
Slide Python Bai 2 pythonvietnam.info
 
Git Using - pythonvietnam.info
Git Using - pythonvietnam.infoGit Using - pythonvietnam.info
Git Using - pythonvietnam.info
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
 
Bai giang cau truc may tinh40
Bai giang cau truc may tinh40Bai giang cau truc may tinh40
Bai giang cau truc may tinh40
 
Bottle web framwork for python
Bottle web framwork for pythonBottle web framwork for python
Bottle web framwork for python
 
Lập trình Python GUI vs PySide
Lập trình Python GUI vs PySideLập trình Python GUI vs PySide
Lập trình Python GUI vs PySide
 
Giáo trình sql server 2000
Giáo trình sql server 2000Giáo trình sql server 2000
Giáo trình sql server 2000
 
Nlp lap trinh ngon ngu tu duy
Nlp lap trinh ngon ngu tu duyNlp lap trinh ngon ngu tu duy
Nlp lap trinh ngon ngu tu duy
 
Email là gì? 5 bí quyết giúp bạn giao tiếp qua email hiệu quả nhất
Email là gì? 5 bí quyết giúp bạn giao tiếp qua email hiệu quả nhấtEmail là gì? 5 bí quyết giúp bạn giao tiếp qua email hiệu quả nhất
Email là gì? 5 bí quyết giúp bạn giao tiếp qua email hiệu quả nhất
 
Bài tập CTDL và GT 4
Bài tập CTDL và GT 4Bài tập CTDL và GT 4
Bài tập CTDL và GT 4
 
KỸ NĂNG ĐIỆN THOẠI
KỸ NĂNG ĐIỆN THOẠIKỸ NĂNG ĐIỆN THOẠI
KỸ NĂNG ĐIỆN THOẠI
 
Lap trinh-huong-doi-tuong-bang-c#
Lap trinh-huong-doi-tuong-bang-c#Lap trinh-huong-doi-tuong-bang-c#
Lap trinh-huong-doi-tuong-bang-c#
 
Học viện Kỹ năng Masterskills - 7 Bí Quyết Vượt Qua "Ải" Phỏng Vấn Xin Việc
Học viện Kỹ năng Masterskills  -  7 Bí Quyết Vượt Qua "Ải" Phỏng Vấn Xin ViệcHọc viện Kỹ năng Masterskills  -  7 Bí Quyết Vượt Qua "Ải" Phỏng Vấn Xin Việc
Học viện Kỹ năng Masterskills - 7 Bí Quyết Vượt Qua "Ải" Phỏng Vấn Xin Việc
 
Lap trinh c_tu_co_ban_den_nang_cao
Lap trinh c_tu_co_ban_den_nang_caoLap trinh c_tu_co_ban_den_nang_cao
Lap trinh c_tu_co_ban_den_nang_cao
 

Similar to Python Beginner Class day-11-12-13-database

Slide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfSlide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfHuyVnh4
 
Một số ứng dụng của Redis, NoSQL tại Tamtay - PHPDay 2012
Một số ứng dụng của Redis, NoSQL tại Tamtay - PHPDay 2012Một số ứng dụng của Redis, NoSQL tại Tamtay - PHPDay 2012
Một số ứng dụng của Redis, NoSQL tại Tamtay - PHPDay 2012Eddie Bui
 
1 số ứng dụng của Redis, NoSQL tại MXH Tamtay.vn
1 số ứng dụng của Redis, NoSQL tại MXH Tamtay.vn1 số ứng dụng của Redis, NoSQL tại MXH Tamtay.vn
1 số ứng dụng của Redis, NoSQL tại MXH Tamtay.vnAiTi Education
 
Hadoop trong triển khai Big Data
Hadoop trong triển khai Big DataHadoop trong triển khai Big Data
Hadoop trong triển khai Big DataNguyễn Duy Nhân
 
Linq n hibernate net-tier
Linq n hibernate net-tierLinq n hibernate net-tier
Linq n hibernate net-tierNguyen Tran
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việcmanhvokiem
 
Alfresco hệ quản lý nội dung doanh nghiệp nguồn mở
Alfresco   hệ quản lý nội dung doanh nghiệp nguồn mởAlfresco   hệ quản lý nội dung doanh nghiệp nguồn mở
Alfresco hệ quản lý nội dung doanh nghiệp nguồn mởHọc Huỳnh Bá
 
Chuong 1 - Gioi Thieu.pptx
Chuong 1 - Gioi Thieu.pptxChuong 1 - Gioi Thieu.pptx
Chuong 1 - Gioi Thieu.pptxCngNguynPhmHuy
 
Bài 3 : Truy vấn và cập nhật CSDL bằng
Bài 3 : Truy vấn và cập nhật CSDL bằngBài 3 : Truy vấn và cập nhật CSDL bằng
Bài 3 : Truy vấn và cập nhật CSDL bằngMasterCode.vn
 
Nhom 16 big data
Nhom 16 big dataNhom 16 big data
Nhom 16 big dataDuy Phan
 
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptHungHuyNguyen3
 
Postgresql các vấn đề thực tế
Postgresql các vấn đề thực tếPostgresql các vấn đề thực tế
Postgresql các vấn đề thực tếTechMaster Vietnam
 
Chuong 1 tong quan về lập trình web động
Chuong 1 tong quan về lập trình web độngChuong 1 tong quan về lập trình web động
Chuong 1 tong quan về lập trình web độngTHPT Ngô Quyền
 
ITLC HN 14 - Bizweb Microservices Architecture
ITLC HN 14  - Bizweb Microservices ArchitectureITLC HN 14  - Bizweb Microservices Architecture
ITLC HN 14 - Bizweb Microservices ArchitectureIT Expert Club
 

Similar to Python Beginner Class day-11-12-13-database (20)

Slide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfSlide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdf
 
Một số ứng dụng của Redis, NoSQL tại Tamtay - PHPDay 2012
Một số ứng dụng của Redis, NoSQL tại Tamtay - PHPDay 2012Một số ứng dụng của Redis, NoSQL tại Tamtay - PHPDay 2012
Một số ứng dụng của Redis, NoSQL tại Tamtay - PHPDay 2012
 
1 số ứng dụng của Redis, NoSQL tại MXH Tamtay.vn
1 số ứng dụng của Redis, NoSQL tại MXH Tamtay.vn1 số ứng dụng của Redis, NoSQL tại MXH Tamtay.vn
1 số ứng dụng của Redis, NoSQL tại MXH Tamtay.vn
 
Hadoop trong triển khai Big Data
Hadoop trong triển khai Big DataHadoop trong triển khai Big Data
Hadoop trong triển khai Big Data
 
Hadoop
HadoopHadoop
Hadoop
 
04 ado
04 ado04 ado
04 ado
 
Linq n hibernate net-tier
Linq n hibernate net-tierLinq n hibernate net-tier
Linq n hibernate net-tier
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
 
Alfresco hệ quản lý nội dung doanh nghiệp nguồn mở
Alfresco   hệ quản lý nội dung doanh nghiệp nguồn mởAlfresco   hệ quản lý nội dung doanh nghiệp nguồn mở
Alfresco hệ quản lý nội dung doanh nghiệp nguồn mở
 
Bai 11
Bai 11Bai 11
Bai 11
 
Chuong 1 - Gioi Thieu.pptx
Chuong 1 - Gioi Thieu.pptxChuong 1 - Gioi Thieu.pptx
Chuong 1 - Gioi Thieu.pptx
 
Bài 3 : Truy vấn và cập nhật CSDL bằng
Bài 3 : Truy vấn và cập nhật CSDL bằngBài 3 : Truy vấn và cập nhật CSDL bằng
Bài 3 : Truy vấn và cập nhật CSDL bằng
 
Nhom 16 big data
Nhom 16 big dataNhom 16 big data
Nhom 16 big data
 
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
 
Postgresql các vấn đề thực tế
Postgresql các vấn đề thực tếPostgresql các vấn đề thực tế
Postgresql các vấn đề thực tế
 
Baigiang bai2 lop12_tiet1
Baigiang bai2 lop12_tiet1Baigiang bai2 lop12_tiet1
Baigiang bai2 lop12_tiet1
 
Chuong 1 tong quan về lập trình web động
Chuong 1 tong quan về lập trình web độngChuong 1 tong quan về lập trình web động
Chuong 1 tong quan về lập trình web động
 
Clean code
Clean codeClean code
Clean code
 
ITLC HN 14 - Bizweb Microservices Architecture
ITLC HN 14  - Bizweb Microservices ArchitectureITLC HN 14  - Bizweb Microservices Architecture
ITLC HN 14 - Bizweb Microservices Architecture
 
Bizweb Microservices Architecture
Bizweb Microservices ArchitectureBizweb Microservices Architecture
Bizweb Microservices Architecture
 

Recently uploaded

Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNguyễn Đăng Quang
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 

Python Beginner Class day-11-12-13-database

  • 1. Database Th.S Trần Đức Lợi Pythonvietnam.info
  • 2. Ôn tập bài cũ • Ôn lại nội dung đã học về Class • Chữa bài ConfigLoaderClass PythonBeginnerClass @loitd #pythonvietnam.info
  • 3. Mục đích bài học • Tìm hiểu về làm việc với Database trong python – Database introduction – SQL – MySQL – Redis PythonBeginnerClass @loitd #pythonvietnam.info
  • 4. Database • Cơ sở dữ liệu là một tập hợp có tổ chức của dữ liệu • Để quản lý cơ sở dữ liệu ta cần DBMS (Database Management System) • Các cơ sở dữ liệu phổ biến: Oracle, MySQL, SQLite, SQLServer, Postgres, … PythonBeginnerClass @loitd #pythonvietnam.info
  • 5. Database • 4 loại CSDL chính: – Hierarchical – Network – Relational – Object Relational PythonBeginnerClass @loitd #pythonvietnam.info
  • 6. Database • Lưu trữ thông tin về tất cả các thành viên trong công ty, trường học, bệnh viện, … • Relational DB: – Employee table – Department table – Salary table PythonBeginnerClass @loitd #pythonvietnam.info
  • 7. Database • Database: chứa nhiều bảng • Table: còn được gọi là Relation, bao gồm tuples và attributes • Tuple (row): Một tập hợp các trường đại diện cho một phần tử • Attribute (column, field): Một trường đại diện cho một thuộc tính của các phần tử PythonBeginnerClass @loitd #pythonvietnam.info
  • 8. Database EMPLOYEE_ID FIRST_NAME LAST_NAME DEPT_ID EMAIL 1001 Loi Tran 99 loitd@pythonvi etnam.info 1002 John Hei 98 john@pythonvi etnam.info PythonBeginnerClass @loitd #pythonvietnam.info Department_ID Dept_name Manager_ID 99 Kế Toán 1001 98 HT 1005
  • 9. Database: Key • Primary Key – Định nghĩa một bản ghi duy nhất – Phải là giá trị duy nhất – Không thể chứa giá trị NULL – Mỗi bảng đều nên có chỉ 1 primary key • Foreign Key – Trỏ tới một primary key của một bảng khác PythonBeginnerClass @loitd #pythonvietnam.info
  • 10. Database: SQL • Để query dữ liệu từ DB • Structured query language • Là ngôn ngữ tuân theo chuẩn ANSI thao tác trên CSDL quan hệ (relational database) PythonBeginnerClass @loitd #pythonvietnam.info
  • 11. SQL • Query dữ liệu • Thêm mới, sửa, xóa các dòng dữ liệu trong bảng • Tạo mới, thay thế, chỉnh sửa và drop các đối tượng • Quản lý truy nhập PythonBeginnerClass @loitd #pythonvietnam.info
  • 12. SQL • Data Manipulation Language – Select – Insert – Update – Delete – Merge • Data Definition Language – Create – Alter – Drop – Rename – Truncate – comment PythonBeginnerClass @loitd #pythonvietnam.info
  • 13. SQL • Data Control Language – Grant – Revoke • Transaction Control – Commit – Rollback – Savepoint PythonBeginnerClass @loitd #pythonvietnam.info
  • 14. MySQL • Open-source database • Community Edition • Standard Edition • Enterprise Edition • MySQL Cluster Carrier Grade Edition PythonBeginnerClass @loitd #pythonvietnam.info
  • 15. MySQL • Cài đặt: – http://www.wampserver.com/en/ – https://www.apachefriends.org/index.html – https://www.mamp.info/en/ PythonBeginnerClass @loitd #pythonvietnam.info
  • 16. SQL: Select • Lấy dữ liệu từ DB • Column alias • Distinct keyword • Select * | distinct | column | expression alias from Table PythonBeginnerClass @loitd #pythonvietnam.info
  • 17. SQL: where • Giới hạn số lượng dữ liệu bằng điều kiện • SELECT column,column FROM table WHERE column = value; PythonBeginnerClass @loitd #pythonvietnam.info
  • 18. SQL: Update • Cập nhật dữ liệu cho DB • UPDATE table SET column1=value1,column2=value2,... WHERE column=value; PythonBeginnerClass @loitd #pythonvietnam.info
  • 19. SQL: Insert • Thêm dữ liệu vào trong bảng • INSERT INTO table VALUES (value1,value2,value3,...); • INSERT INTO table (column1,column2,column3,...) VALUES (value1,value2,value3,...); PythonBeginnerClass @loitd #pythonvietnam.info
  • 20. SQL: Delete • Xóa dữ liệu trong database • DELETE FROM table WHERE column=value; PythonBeginnerClass @loitd #pythonvietnam.info
  • 21. Python & MySQL • Cài đặt thư viện MySQLdb để làm việc với MySQL • Windows: – http://sourceforge.net/projects/mysql-python/ • Linux: – sudo apt-get install python-mysqldb PythonBeginnerClass @loitd #pythonvietnam.info
  • 22. MySQLdb: connect() • Mở kết nối tới DB: – connect(host="localhost",user="root",passwd="", db="cdcol") • Lấy con trỏ: – cur = con.cursor() PythonBeginnerClass @loitd #pythonvietnam.info
  • 23. MySQLdb: Close() • Đóng kết nối: – cur.close() – con.close() • Commit và rollback dữ liệu: – con.commit() – con.rollback() PythonBeginnerClass @loitd #pythonvietnam.info
  • 24. MySQLdb: Bài tập • Hãy sử dụng configloader để load thông số DB và thực hiện kết nối tới DB MySQL PythonBeginnerClass @loitd #pythonvietnam.info
  • 25. MySQLdb: Select • Thực thi câu select: – cur.execute(sql) • Fetch dữ liệu – row1 = cur.fetchone() – rows = cur.fetchall() PythonBeginnerClass @loitd #pythonvietnam.info
  • 26. MySQLdb: Insert • Thực thi câu lệnh Insert • try: • cur.execute(sql3, data2insert) • con.commit() • except Exception, e: • con.rollback() • print e PythonBeginnerClass @loitd #pythonvietnam.info
  • 27. MySQLdb: Update • try: • cur.execute(sql4) • con.commit() • except Exception, e: • con.rollback() • print e PythonBeginnerClass @loitd #pythonvietnam.info
  • 28. MySQLdb: Bài tập • Lấy dữ liệu từ file config, kết nối vào DB, in toàn bộ dữ liệu của DB, cho người dùng chọn lựa sửa, xóa 1 row bất kỳ • (Quản lý học sinh) PythonBeginnerClass @loitd #pythonvietnam.info
  • 29. Redis • Cài đặt redis trên windows – Redis.io – https://github.com/rgl/redis/downloads – Apt-get install redis-server • Pip install redis • Import redis • Hiểu 4 loại lưu trữ hay gặp trên redis – Strings – Lists – Sets – hashs PythonBeginnerClass @loitd #pythonvietnam.info
  • 30. Redis • Redis is an open source, BSD licensed, advanced key-value cache and store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets,sorted sets, bitmaps and hyperloglogs. • Nguồn redis.io PythonBeginnerClass @loitd #pythonvietnam.info
  • 31. Redis: key • Có thể sử dụng bất kỳ binary sequence nào làm key • Kích thước lớn nhất cho phép là 512MB • Không nên đặt quá dài (1 key dài 1MB, …) – Tốn bộ nhớ – Tra cứu khó khăn – Truyền tải giá trị qua môi trường mạng -> tốn băng thông – Không cần thiết PythonBeginnerClass @loitd #pythonvietnam.info
  • 32. Redis: Key TTL • Cú pháp: – Expire key time – Hoặc set key ‘abc’ ex time • Đơn vị tính seconds • Lệnh ttl key để xem thời gian còn sống của 1 key PythonBeginnerClass @loitd #pythonvietnam.info
  • 33. Redis: Key • Xóa một key bằng lệnh del key • Xem kiểu dữ liệu của một key bằng lệnh: type key PythonBeginnerClass @loitd #pythonvietnam.info
  • 34. Redis: String types • Là kiểu dữ liệu cơ bản nhất • Giống với dữ liệu của Memcached • Giá trị không lớn hơn 512MB • Giá trị có thể là chuỗi, chuỗi binary, … • Câu lệnh làm việc cơ bản: SET, GET, INCR, DECR, MSET, MGET, … PythonBeginnerClass @loitd #pythonvietnam.info
  • 35. Redis: List • List trong redis là 1 dãy các phần tử sắp xếp nối nhau: 1,2,3,4,5,… • Linked list # Array: thời gian thêm mới phần tử không phụ thuộc vào số lượng phần tử • Ưu điểm: tốc độ thêm mới phần tử • Hạn chế của list: tốc độ truy cập phần tử (ngược lại với sorted sets) PythonBeginnerClass @loitd #pythonvietnam.info
  • 37. Redis: List • Ứng dụng – Lấy danh sách các công việc/ updates/ feeds mới nhất của 1 user – Giao tiếp giữa 2 processes theo mô hình consumer-producer PythonBeginnerClass @loitd #pythonvietnam.info
  • 38. Redis: connect • r = redis.StrictRedis(host='localhost', port=6379, db=0) • Mỗi một instance của redis sẽ tự tạo một connection pool để quản lý kết nối tới redis PythonBeginnerClass @loitd #pythonvietnam.info
  • 39. Redis: Connect • ConnectionPool: • pool = redis.ConnectionPool(host='localhost', port=6379, db=0) • s= redis.Redis(connection_pool=pool) • -> sử dụng pool chung PythonBeginnerClass @loitd #pythonvietnam.info
  • 40. Redis: Key-value • #single key • r.set('f', 'you') • print r.get('f') • Sử dụng lệnh get/set tương ứng với redis client PythonBeginnerClass @loitd #pythonvietnam.info
  • 41. Redis: list • #list • r.lpush('lst1', 'San Loeo') • r.lpush('lst1', 'San Loeo') • print r.lrange('lst1', 0, -1) • r.rpop('lst1') • print r.lrange('lst1', 0, -1) • Sử dụng các lệnh lpush, rpop để làm việc với list PythonBeginnerClass @loitd #pythonvietnam.info
  • 42. Redis: Bài tập • Dựng module kết nối với redis và thực hiện các thao tác với list và key-value dưới dạng OOP PythonBeginnerClass @loitd #pythonvietnam.info
  • 43. Redis: Pub/Sub • Mô hình Publish/Subscribe • Đối tượng PubSub trong redis-py • Khai báo một pubsub mới – Ps = s.pubsub() – Ps.subscribe(‘pyvn-chnl’, ‘chnl-2’) – Ps.get_message() PythonBeginnerClass @loitd #pythonvietnam.info
  • 44. Redis: pub/sub • Publish một message – S.publish(‘chnl’, ‘I am Loi’) • Unsubcribe kênh: – Ps.unsubscribe(‘chnl’) – Ps.unsubscribe() PythonBeginnerClass @loitd #pythonvietnam.info
  • 45. Redis: Pub/Sub • Ps.close() • Sau khi làm việc xong với một đối tượng pubsub PythonBeginnerClass @loitd #pythonvietnam.info
  • 46. Redis: Pub/Sub • Xây dựng lại bài tập redis với pub/sub kết nối vào redis sử dụng connection pool PythonBeginnerClass @loitd #pythonvietnam.info
  • 47. Tổng kết bài học • SQL • MySQL • Redis PythonBeginnerClass @loitd #pythonvietnam.info