【#1】Tổng Quan Về An Toàn Người Bệnh

Tổng quan về an toàn người bệnh

MỞ ĐẦU

Ngày nay, những thành tựu của y học trong việc chẩn đoán, điều trị đã giúp phát hiện sớm và điều trị thành công cho nhiều người bệnh mắc các bệnh nan y mà trước đây không có khả năng cứu chữa, mang lại cuộc sống và hạnh phúc cho nhiều người và nhiều gia đình. Tuy nhiên, theo các chuyên gia y tế thách thức hàng đầu trong lĩnh vực y tế hiện nay là bảo đảm cung cấp các dịch vụ chăm sóc sức khỏe an toàn cho người bệnh/khách hàng. Các chuyên gia y tế đã nhận ra một hiện thực là bệnh viện không phải là nơi an toàn cho người bệnh như mong muốn và mâu thuẫn với chính sứ mệnh của nó là bảo vệ sức khỏe và tính mạng của con người.

Bài viết này nhằm trao đổi cách tiếp cận mới về An toàn người bệnh từ góc nhìn hệ thống, từ quan điểm của người bệnh, của cán bộ y tế thông qua việc cung cấp thông tin dịch tễ về sự cố y khoa, cách phân loại sự cố, tìm hiểu nguyên nhân và đề xuất các giải pháp nhằm bảo đảm an toàn người bệnh trên cơ sở tổng hợp và nghiên cứu các khuyến cáo của Tổ chức y tế Thế giới và các nước đi tiên phong trong lĩnh vực an toàn người bệnh.

CÁC THUẬT NGỮ

Lỗi – Error: Thực hiện công việc không đúng quy định hoặc áp dụng các quy định không phù hợp 20.

Tác hại – Harm: Suy giảm cấu trúc hoặc chức năng của cơ thể hoặc ảnh hưởng có hại phát sinh từ sự cố đã xảy ra. Tác hại bao gồm: bệnh, chấn thương, đau đớn, tàn tật và chết người 20.

Sự cố không mong muốn – Adverse Events (AE): Y văn của các nước sử dụng thuật ngữ “sự cố không mong muốn” ngày càng nhiều vì các thuật ngữ “sai sót chuyên môn, sai lầm y khoa” dễ hiểu sai lệch về trách nhiệm của cán bộ y tế và trong thực tế không phải bất cứ sự cố nào xảy ra cũng do cán bộ y tế.

Theo Bộ sức khỏe và dịch vụ con người của Mỹ: Sự cố không mong muốn gây hại cho người bệnh do hậu quả của chăm sóc y tế hoặc trong y tế. Để đo lường sự cố y khoa các nhà nghiên cứu y học của Mỹ dựa vào 3 nhóm tiêu chí. (1) Các sự cố thuộc danh sách các sự cố nghiêm trọng; (2) Các tình trạng/vấn đề sức khỏe người bệnh mắc phải trong bệnh viện; Và (3) sự cố dẫn đến 1 trong 4 thiệt hại nghiêm trọng cho người bệnh nằm trong Bảng 4 Phân loại mức độ nguy hại cho người bệnh từ F-I, bao gồm: kéo dài ngày điều trị, để lại tổn thương vĩnh viễn, phải can thiệp cấp cứu và chết người 10.

DỊCH VỤ Y TẾ – LĨNH VỰC NHIỀU RỦI RO

Theo các nhà nghiên cứu y học Mỹ, lĩnh vực y khoa là lĩnh vực có nhiều rủi ro nhất đối với khách hàng. Các chuyên gia y tế Mỹ nhận định “Chăm sóc y tế tại Mỹ không an toàn như người dân mong đợi và như hệ thống y tế có thể, ít nhất 44000 – 98000 người tử vong trong các bệnh viện của Mỹ hàng năm do các sự cố y khoa 20. Số người chết vì sự cố y khoa trong các bệnh viện của Mỹ, cao hơn tử vong do tai nạn giao thông, Ung thư vú, tử vong do HIV/AIDS là ba vấn đề sức khỏe mà người dân Mỹ quan tâm hiện nay 10,8,9. Tiếp theo nghiên cứu của Viện Y học Mỹ (Institute of Medicine) các nước như Úc, Anh, Canada,.. đã tiến hành nghiên cứu sự cố y khoa và đã công bố kết quả như sau:

Các nghiên cứu của các bệnh viện về nhiễm khuẩn bệnh viện được báo cáo trong các hội nghị, hội thảo về KSNK cho thấy nhiễm khuẩn bệnh viện hiện mắc từ 4,5%-8% người bệnh nội trú.

Bảng 4. Phân loại sự cố y khoa theo mức độ nguy hại Nguồn: NCC MERP Index, Medication Errors Council Revises and Expended Index for categorizing Errors, June 12,2001.

PHÂN LOẠI SỰ CỐ Y KHOA

Phân loại sự cố y khoa theo mức độ nguy hại đối với người bệnh

Theo kinh nghiệm của một số nước, sự cố y khoa được phân loại theo các cách khác nhau, tùy thuộc vào mục đích sử dụng. Bao gồm phân loại theo mức độ nguy hại của người bệnh, theo theo tính chất nghiêm trọng của sự cố làm cơ sở để đo lường và đánh giá mức độ nguy hại cho người bệnh 10.

Phẫu thuật nhầm vị trí trên người bệnh

Phẫu thuật nhầm người bệnh

Phẫu thuật sai phương pháp trên người bệnh

Sót gạc dụng cụ

Tử vong trong hoặc ngay sau khi phẫu thuật thường quy

Bị shock do điện giật

Bị bỏng trong khi điều trị tại bệnh viện

Cháy nổ ôxy, bình ga, hóa chất độc hại..

Nhầm nhóm máu hoặc sản phẩm của máu

Sản phụ chuyển dạ hoặc chấn thương đối với sản phụ có nguy cơ thấp

Bệnh nhân bị ngã trong thời gian nằm viện

Loét do tỳ đè giai đoạn 3-4 và xuất hiện trong khi nằm viện

Thụ tinh nhân tạo nhầm tinh trùng hoặc nhầm trứng

Không chỉ định xét nghiệm, chẩn đoán hình ảnh dẫn đến xử lý không kịp thời

Hạ đường huyết

Vàng da ở trẻ trong 28 ngày đầu

Tai biến do tiêm/chọc dò tủy sống

Giao nhầm trẻ sơ sinh lúc xuất viện

Người bệnh gặp sự cố y khoa ở ngoài cơ sở y tế

Người bệnh chết do tự tử, tự sát hoặc tự gây hại

Sử dụng thuốc bị nhiễm khuẩn, thiết bị và chất sinh học

Sử dụng các thiết bị hỏng/thiếu chính xác trong điều trị và chăm sóc

Đặt thiết bị gây tắc mạch do không khí

Do thầy thuốc, NVYT chủ định gây sai phạm

Bắt cóc người bệnh

Lạm dụng tình dục đối với người bệnh trong cơ sở y tế

Phân loại sự cố y khoa theo đặc điểm chuyên môn

Hiệp hội an toàn người bệnh Thế giới phân loại sự cố y khoa theo 6 nhóm sự cố gồm:

Nhầm tên người bệnh

Thông tin bàn giao không đầy đủ

Nhiễm trùng bệnh viện

Người bệnh ngã

HẬU QUẢ CỦA SỰ CỐ Y KHOA

Hậu quả về sức khỏe: hậu quả của các sự cố y khoa không mong muốn làm tăng gánh nặng bệnh tật, tăng ngày nằm viện trung bình, tăng chi phí điều trị, làm giảm chất lượng chăm sóc y tế và ảnh hưởng đến uy tín, niềm tin đối với cán bộ y tế và cơ sở cung cấp dịch vụ.

Tại Mỹ (Utah- Colorado): các sự cố y khoa không mong muốn đã làm tăng chi phí bình quân cho việc giải quyết sự cố cho một người bệnh là 2262 US$ và tăng 1,9 ngày điều trị/người bệnh 20. Theo một nghiên cứu khác của Viện Y học Mỹ chi phí tăng $2595 và thời gian nằm viện kéo dài hơn 2,2 ngày/người bệnh 20.

Ở Australia hàng năm: 470 000 NB nhập viện gặp sự cố y khoa, tăng 8% ngày điều trị (thêm 3,3 triệu ngày điều trị) do sự cố y khoa, 18000 tử vong, 17000 tàn tật vĩnh viễn và 280000 người bệnh mất khả năng tạm thời 16,17,20.

Sai sót không chủ định

Tại Anh: Bộ Y tế Anh ước tính có 850.000 sự cố xảy ra hàng năm tại các bệnh viện Anh quốc, chỉ tính chi phí trực tiếp do tăng ngày điều trị đã lên tới 2 tỷ bảng. Bộ Y tế Anh đã phải sử dụng 400 triệu bảng để giải quyết các khiếu kiện lâm sàng năm 1998/1999 và ước tính phải chi phí 2,4 tỷ bảng Anh để giải quyết những kiện tụng chưa được giải quyết. Chi phí cho điều trị nhiễm khuẩn bệnh viện lên tới 1 tỷ bảng Anh hàng năm. Con số kiện tụng lên tới 38000 đối với lĩnh vực chăm sóc y tế gia đình và 28000 đơn kiện đối với lĩnh vực bệnh viện 11.

Tại Nhật Bản, theo số liệu của tòa án, bình quân mỗi ngày người dân kiện và đưa bệnh viện ra tòa từ 2-3 vụ. Thời gian giải quyết các sự cố y khoa tại Nhật Bản trung bình 2 năm/vụ khiếu kiện 18.

CÁC YẾU TỐ LIÊN QUAN TỚI SỰ CỐ Y KHOA

Sai sót chuyên môn

Yếu tố con người

Do quên ( bác sĩ quên không chỉ định các xét nghiệm cấp để chẩn đoán, điều dưỡng viên quên không bàn giao thuốc, quên không lấy bệnh phẩm xét nghiệm,..)

Do tình cảnh của người hành nghề ( mệt mỏi, ốm đau, tâm lý,..)

Do kiến thức, kinh nghiệm nghề nghiệp hạn chế áp dụng các quy định chuyên môn không phù hợp. Tuy nhiên, trong một số trường hợp sự cố y khoa không mong muốn xảy ra ngay đối với các thầy thuốc có kinh nghiệm nhất và đang trong lúc thực hiện công việc chuyên môn có trách nhiệm với người bệnh.

Cắt xén hoặc làm tắt các quy trình chuyên môn

Vi phạm đạo đức nghề nghiệp

Đặc điểm chuyên môn y tế bất định

Bệnh tật của người bệnh diễn biến, thay đổi

Y học là khoa học chẩn đoán luôn kèm theo xác suất

Can thiệp nhiều thủ thuật, phẫu thuật trên người bệnh dẫn đến rủi ro và biến chứng bất khả kháng

Sử dụng thuốc, hóa chất đưa vào cơ thể dễ gây sốc phản vệ, phản ứng v.v,..

Môi trường làm việc nhiều áp lực

Môi trường vật lý ( tiếng ồn, nhiệt độ, diện tích..)

Môi trường công việc ( quá tải, thiếu nhân lực, thiếu phương tiện..); Môi trường tâm lý (tiếp xúc với người ốm, tâm lý luôn căng thẳng…)

Quản lý và điều hành dây chuyền khám chữa bệnh

Thiếu nhân lực nên bố trí nhân lực không đủ để bảo đảm chăm sóc người bệnh 24 giờ/24 giờ/ngày và 7 ngày/tuần. Các ngày cuối tuần, ngày lễ việc chăm sóc, theo dõi người bệnh chưa bảo đảm liên tục.

Mô hình các lớp hàng rào bảo vệ của hệ thống phòng ngừa sự cố y khoa Nguồn: Reason J. Carthey, Diagnosing vulnerable system sysdrome

Đào tạo liên tục chưa tiến hành thường xuyên

Kiểm tra giám sát chưa hiệu quả, thiếu khách quan.

PHÂN TÍCH NGUYÊN NHÂN GỐC

Mô hình phân tích nguyên nhân sự cố theo Reason J. Cathey

Lợi ích của việc phân tích nguyên nhân gốc

Việc phân tích xác định nguyên nhân gốc không chỉ đơn giản là tìm kiếm lỗi cá nhân mang tính triệu chứng mà phải loại bỏ các yếu tố nguy cơ tiềm ẩn gián tiếp thúc đẩy sự cố xảy ra. Việc phân tích nguyên nhân gốc và thực hiện các hành động khắc phục được coi là quá trình cải tiến liên tục của cơ sở y tế.

Những yếu kém trong việc tìm hiểu nguyên nhân gốc của các sự cố y khoa dẫn đến việc mặc dù sự cố y khoa đã tồn tại từ lâu nhưng hệ thống y tế chưa có được bức tranh dịch tễ về sự cố y khoa để có phương sách đối phó hiệu quả. Các nhà nghiên cứu đã đưa ra Hội chứng hệ thống suy yếu của tổ chức (Vulnerable System Syndrome). Hội chứng này có ba nhóm triệu chứng chính là: (1) Đổ lỗi cho cá nhân trực tiếp (bác sĩ, điều dưỡng, hộ sinh..); (2) Phủ nhận sự tồn tại các điểm yếu của lỗi hệ thống; (3) Theo đuổi mù quáng các chỉ số tài chính, lạm dụng các chỉ định chuyên môn.

GIẢI PHÁP

Hiện nay, sự cố y khoa có qui mô rộng, mang tính phổ biến và hậu quả nghiêm trọng, được đưa thành vấn đề y tế công cộng. Đây là một chương trình cần đưa thành ưu tiên quốc gia và cần tiếp cận trên quy mô toàn bộ hệ thống cung cấp dịch vụ chăm sóc sức khỏe. Nếu chỉ dựa vào việc chỉnh đốn khắc phục các thiếu sót khuyết điểm của cá nhân người hành nghề thì sẽ không thể giải quyết một cách cơ bản và hiệu quả. Các quốc gia đã đi tiên phong trong việc xây dựng các mô hình quản lý an toàn người bệnh và chuyên ngành An toàn người bệnh ” Patient Safety Discipline” đã ra đời nhằm hỗ trợ người hành nghề, người quản lý các cơ sở y tế, người sử dụng dịch vụ y tế đưa ra các giải pháp hiệu quả nhằm hạn chế sự cố y khoa tới mức thấp nhất. Những biện pháp được áp dụng hiện nay tại các quốc gia bao gồm:

Thành lập Ủy ban quốc gia về chất lượng chăm sóc y tế và an toàn người bệnh

Sự cố y khoa không mong muốn đã vượt ra tầm điều chỉnh các sai sót mang tính cá nhân người hành nghề. Sự cố y khoa có quy mô rộng cần có sự tham gia của toàn bộ hệ thống, sự phối hợp giữa các ngành nghề trong lĩnh vực y tế. Cần thiết có một cơ quan chỉ đạo ở quy mô quốc gia như kinh nghiệm của nhiều quốc gia đi tiên phong đã triển khai (Mỹ, úc, Canada, New Zealand, Malaysia..). Ủy ban này sẽ đưa ra các mục tiêu quốc gia về chất lượng và an toàn y tế, đề xuất các chương trình nghiên cứu, các công cụ, xây dựng các báo cáo đánh giá hàng năm và đưa ra các khuyến nghị cho cả các cơ sở y tế nghiên cứu áp dụng.

Thiết lập hệ thống báo cáo sự cố y khoa bắt buộc và báo cáo tự nguyện:

Hiện nay, bức tranh về sự cố y khoa không đầy đủ do chưa có hệ thống báo cáo bắt buộc sự cố y khoa. Những thông tin trên đài, báo chí mới chỉ là phần nổi của tảng băng lớn. Ngành Y tế thiếu thông tin để xác định quy mô và chiều hướng của các sự cố y khoa nên chưa có biện pháp khắc phục và cải tiến hiệu quả. Cơ quan quản lý thường rơi vào tình trạng bị động chạy theo báo chí. Theo kinh nghiệm của các nước, hệ thống báo cáo sự cố y khoa bao gồm các thành tố sau:

Về báo cáo: Các cơ sở cung cấp dịch vụ CSSK, các Sở Y tế và Bộ Y tế cần xây dựng báo cáo hàng năm về chất lượng dịch vụ y tế, tình hình sự cố y khoa và các biện pháp đã thực hiện;

Từng bước minh bạch thông tin về sự cố y khoa: việc được thông tin về các tai biến, sự cố y khoa là quyền của người bệnh đã được đề cập trong Luật Khám bệnh, chữa bệnh. Minh bạch thông tin về sự cố y khoa thể hiện sự tôn trọng của các hệ thống y tế đối với người bệnh và thể hiện trách nhiệm của các cấp của hệ thống y tế khi sự cố xảy ra.

Kinh nghiệm một số nước tiên phong, việc công khai minh bạch thông tin về sự cố y khoa làm giảm áp lực của cộng đồng cho ngành y tế và ngành y tế nhận được sự thông cảm, chia sẻ của người bệnh và cộng đồng về tính chất phức tạp và đa dạng của sự cố y khoa. Tại Mỹ, hầu hết các Bang đã thông qua Luật về báo cáo sự cố y khoa (The Adverse Health Events Reporting Law) vào năm 2003 và sửa đổi vào năm 2004. Tiếp đó các nước như Úc, Canada, New Zealand… đã thực hiện hệ thống báo cáo sự cố y khoa bắt buộc và hệ thống báo cáo tự nguyện tại các cơ sở y tế.

Ngoài ra, các cơ sở y tế cần được khuyến khích báo cáo những sự cố y khoa tự nguyện. Có nhiều cách khác nhau để nhận thông tin về các sai sót, sự cố y khoa thông qua khuyến khích báo cáo tự nguyện như: báo cáo qua Email, qua đường dây nóng, qua người phụ trách bộ phận quản lí chất lượng hoặc một cán bộ lâm sàng được tin tưởng. Các quy định báo cáo mang tính hành chính cứng nhắc sẽ không có kết quả.

Cải thiện môi trường làm việc của cán bộ y tế.

Đội ngũ điều dưỡng, hộ sinh có vai trò đặc biệt quan trọng trong việc giảm thiểu sự cố y khoa bởi các lý do sau: (1) Dịch vụ do điều dưỡng, hộ sinh cung cấp được WHO đánh giá là một trong những trụ cột của hệ thống cung cấp dịch vụ y tế (số lượng đông nhất, tiếp xúc với người bệnh nhiều nhất và số lượng dịch vụ cung cấp nhiều nhất); (2) Hầu hết các chỉ định của bác sĩ điều trị đều thông qua người điều dưỡng để thực hiện trên người bệnh; (3) Công việc chuyên môn của điều dưỡng luôn diễn ra trước và sau công tác điều trị và bảo đảm cho công tác điều trị an toàn.

Hiện nay, môi trường công việc của điều dưỡng, hộ sinh còn nhiều khó khăn bất cập. Gần 50% điều dưỡng, hộ sinh chưa hài lòng với công việc 18. Nguyên nhân do: (1) nghề nghiệp chưa được đánh giá và tôn trọng đúng mức; (2) chưa được tạo điều kiện để hành nghề chủ động trong lĩnh vực chăm sóc; (3) nhân lực thiếu – công việc nhiều; (4) ca kíp kéo dài. Đã có nhiều bằng chứng nghiên cứu khẳng định tỷ lệ điều dưỡng thấp so với người bệnh sẽ dẫn đến hậu quả tăng sai sót, tăng nhiễm trùng bệnh viện.

Các bệnh viện cần xây dựng mô hình thực hành để khẳng định vai trò chủ động nghề nghiệp trong CSNB tương xứng với trình độ điều dưỡng hiện nay đã được đào tạo ở trình độ cao đẳng, đại học và sau đại học và vượt trội trình độ của y sĩ.

Xây dựng văn hóa an toàn người bệnh – tập trung giải quyết lỗi hệ thống

Duy trì việc tiếp cận nhằm vào việc quy chụp trách nhiệm cho cá nhân sẽ dẫn đến văn hóa giấu diếm sự thật và đã được chứng minh ít hiệu quả trong việc mang lại những kết quả dài hạn. Bằng chứng là trong hầu hết các Sổ sai sót chuyên môn của các khoa hiện nay việc ghi theo dõi các sự cố mang tính hình thức và ít hiệu quả.

Chủ động đánh giá rủi ro, rà soát lại các thông tin từ các báo cáo chính thức cũng như không chính thức, qua đó sẽ chủ động thực hiện các can thiệp.

Tiếp tục ban hành mới và cập nhật các Hướng dẫn điều trị, hướng dẫn quy trình chăm sóc dựa vào bằng chứng, các Bộ tiêu chuẩn chất lượng trong các lĩnh vực bệnh viện, trong đó bao gồm các chuẩn quốc gia về an toàn người bệnh.

Thực hiện những đổi mới về văn hóa kiểm tra đánh giá: Cơ sở y tế chủ động áp dụng và tự nội kiểm theo các bộ Tiêu chuẩn chất lượng, loại bỏ lối tư duy đối phó, chạy theo thành tích. Khuyến khích việc ra đời và vận hành các cơ quan đánh giá ngoại kiểm độc lập theo quy định của luật Khám bệnh, chữa bệnh.

Thực hiện mô hình chăm sóc y tế lấy người bệnh làm trung tâm (patient – Centered Care). Hệ thống cung cấp dịch vụ CSSK thế kỷ XXI cần được tổ chức theo hướng ” Lấy người bệnh làm trung tâm”. Tăng cường mối quan hệ đối tác giữa một bên là người bệnh/gia đình người bệnh và một bên là CBYT. Người bệnh và gia đình họ cần được khuyến khích tham gia vào quá trình chăm sóc điều trị, được thông tin đầy đủ, được tư vấn cụ thể để chấp nhận các phương pháp điều trị một cách chủ động…

Triển khai bảo hiểm nghề nghiệp theo Luật khám bệnh, chữa bệnh.

Những trải nghiệm đối với các cá nhân người hành nghề và của các cơ sở cung cấp dịch vụ y tế trong thời gian qua rất phức tạp cần có sự quan tâm vào cuộc của toàn bộ hệ thống và định hướng dư luận của cơ quan báo chí để phòng ngừa những hậu quả xấu mang tính xã hội có thể xảy ra, đó là:

Tình trạng cán bộ y tế bị đe dọa sức khỏe, thậm trí bị bắn chết, bị đâm chết ngay trong khi làm nhiệm vụ. Nhiều trường hợp phải trốn, phải rời bỏ vị trí làm việc trong khi đang phải thường trực cấp cứu người bệnh.

Dựa vào sự cố y tế để gây rối loạn trật tự xã hội: đưa quan tài vào bệnh viện, vào nhà lãnh đạo bệnh viện, vào nhà bác sĩ trực, đưa quan tài diễu phố…

Đập phá tài sản của bệnh viện: ngay sau khi sự cố xảy ra, chưa xác định rõ nguyên nhân thì một số người đã quá khích lăng mạ cán bộ y tế và đập phá tài sản, máy móc trong bệnh viện và lực lượng bảo vệ hầu như rơi vào tình trạng mất kiểm soát.

Gây áp lực yêu cầu cá nhân và cơ sở cung cấp dịch vụ y tế bồi thường tài chính theo mức tăng dần, trong khi cơ chế tài chính thu một phần viện phí và không có mục chi tai nạn sự cố y tế.

Để giảm áp lực trực tiếp cho người hành nghề và của cơ sở cung cấp dịch vụ y tế cần sớm triển khai hệ thống bảo hiểm nghề nghiệp để khi sự cố xảy ra sẽ có cơ quan bảo hiểm nghề nghiệp trực tiếp làm việc với người bệnh và gia đình người bệnh.

Triển khai thực hiện các giải pháp kỹ thuật bảo đảm an toàn người bệnh

Tại Điều 7 Thông tư số 19/2013/TT-BYT ngày 12 tháng 7 năm 2013 về hướng dẫn quản lý chất lượng dịch vụ khám chữa bệnh trong các bệnh viện đã quy định các cơ sở y tế cần phải thiết lập chương trình và xây dựng các quy định cụ thể bảo đảm an toàn người bệnh và nhân viên y tế với các nội dung chủ yếu sau:

Xác định chính xác người bệnh, tránh nhầm lẫn khi cung cấp dịch vụ; An toàn phẫu thuật, thủ thuật; An toàn trong sử dụng thuốc; Phòng và kiểm soát nhiễm khuẩn bệnh viện; Phòng ngừa rủi ro, sai sót do trao đổi, truyền đạt thông tin sai lệch giữa nhân viên y tế; Phòng ngừa người bệnh bị ngã; và An toàn trong sử dụng trang thiết bị y tế.

TÀI LIỆU THAM KHẢO

Nguyễn Thanh Hà (2005), “Giám sát nhiễm khuẩn bệnh viện tại 6 tỉnh phía Nam”.

Nguyễn Việt Hùng (2005). “Tình hình nhiễm khuẩn bệnh viện tại các bệnh viện khu vực phía Bắc”.

Trần Hữu Luyện. “Nhiễm khuẩn bệnh viện trên NB có phẫu thuật”

Phạm Đức Mục và cộng sự (2005). “Nhiễm khuẩn bệnh viện tại các bệnh viện trực thuộc Bộ Y tế năm 2005”

Lê Anh Thư. “Nhiễm khuẩn bệnh viện trên các bệnh nhân có thở máy”.

Adverse Health Event- Minnesota. Ninth annual public report, January 2013

Committee on quality of health care in America, Institute of Medicine, Korn LT, Corrigan JM, Donaldson MS (2000). “To errors is human: Building a safer health system”. This report can be viewed on line at

http://books,nap,edu/boooks/0309068371/inde4x.html.

Committee on quality of health care in America, Institute of Medicine (2001). “Crossing a quality chasm, a new health system for 21 century”. This report can be viewed on line at http://books,nap,edu/boooks/0309072808/html/index.html

Department of health and Human Services-USA. “Adverse Event in hospitals: national Incidents among Medicare the beneficiaries”. Daniel R levinson, Inspector Genral.

Harvard Medical Practice Study II. New England Journal of Medicine, 1991,323:377.

Linda T. Kohn, Janet M. Corrigan, and Molla S. Donaldson, Editors; Committee on Quality of Health Care in America, Institute of Medicine

Monina Klevens, Jonathan R. Edwards, Chesley L. Richards (2002). “Estimating Health Care-Associated Infections and Deaths in U.S. Hospitals”

Ronda G. Hughes (2008). “Patient Safety and Quality: An evidence – Based Hand Book for Nurses”.

Ross McL Wilson, William B Runciman, Robert W Gibberd et al. “The Quality in Australian Health Care Study”.

Vincent C et al. “Systems approaches to surgical quality and safety: from concept to measurement”. Annals of Surgery , 2004, 239:475-482.

WHO (2011). Patient Safety curriculum guide. Multi-professional Edition,2011.

【#2】Từ Vựng Tiếng Anh Về Toán Học Cho Trẻ Em Lớp 5 (Tiếp)

Trong phần tiếp theo của bộ từ vựng tiếng Anh về toán học cho trẻ em lớp 5, Aokiddy gửi tới các em những từ vựng cũng như những thuật ngữ toán tiếng Anh mới. Những từ vựng tiếng Anh lớp 5 này sẽ là tài liệu học tập vô cùng quan trọng và bổ ích cho các em.

Từ vựng tiếng Anh về toán học cho trẻ em lớp 5

Học tiếng Anh lớp 5 với những từ vựng về toán học sẽ giúp các em cải thiện những kiến thức tiếng Anh về toán học và giúp các em học nhanh hơn, hoàn thành những bài tập, bài thi toán tiếng Anh tốt hơn.

– Isosceles triangle: tam giác cân

– acute triangle: tam giác nhọn

– circumscribed triangle: tam giác ngoại tiếp

– equiangular triangle: tam giác đều

– inscribed triangle: tam giác nội tiếp

– obtuse triangle: tam giác tù

– right-angled triangle: tam giác vuông

– scalene triangle: tam giác thường

– Gradient of the straight line: độ dốc của một đường thẳng, hệ số góc

– Rectangle: hình chữ nhật

– Trigonometry: lượng giác học

– The sine rule: quy tắc sin

– The cosine rule: quy tắc cos

– Cross-section: mặt cắt ngang

– Cuboid: hình hộp phẳng, hình hộp thẳng

– regular pyramid: hình chóp đều

– triangular pyramid: hình chóp tam giác

– truncated pyramid: hình chóp cụt

– Inequality: bất phương trình

– minimum: giá trị cực tiểu

– consecutive even number: số chẵn liên tiếp

– factorise (factorize): tìm thừa số của một số

– bearing angle: góc định hướng

– sequence: chuỗi, dãy số

– number pattern: sơ đồ số

– corresp. s: góc đồng vị

– int. s: góc trong cùng phía

– ext. of : góc ngoài của tam giác

– semicircle: nửa đường tròn

– Cyclic quadrilateral: tứ giác nội tiếp

– Inscribed quadrilateral: tứ giác nội tiếp

– Surd: biểu thức vô tỷ, số vô tỷ

– Irrational number: biểu thức vô tỷ, số vô tỷ

– Highest common factor (HCF): hệ số chung lớn nhất

– least common multiple (LCM): bội số chung nhỏ nhất

– lowest common multiple (LCM): bội số chung nhỏ nhất

– improper fraction: phân số không thực sự

– proper fraction: phân số thực sự

– displacement: độ dịch chuyển

– varies directly as: tỷ lệ thuận

– directly proportional to: tỷ lệ thuận với

– inversely proportional: tỷ lệ nghịch

– varies as the reciprocal: nghịch đảo

– in term of: theo ngôn ngữ, theo

– blunted cone: hình nón cụt

– base of a cone: đáy của hình nón

– transformation: biến đổi

– reflection: phản chiếu, ảnh

– anticlockwise rotation: sự quay ngược chiều kim đồng hồ

– clockwise rotation: sự quay theo chiều kim đồng hồ

– enlargement: độ phóng đại

– adjacent angles: góc kề bù

– vertically opposite angle: góc đối nhau

– Index form: dạng số mũ

– Expss: biểu diễn, biểu thị

– Equation: phương trình, đẳng thức

– Quadratic equation: phương trình bậc hai

– Root: nghiệm của phương trình

– Linear equation (first degree equation): phương trình bậc nhất

– Algebraic expssion: biểu thức đại số

– vulgar fraction: phân số thường

– decimal fraction: phân số thập phân

– Single fraction: phân số đơn

– Simplified fraction: phân số tối giản

– Lowest term: phân số tối giản

– Significant ps: chữ số có nghĩa

– Decimal place: vị trí thập phân, chữ số thập phân

– Subject: chủ thể, đối tượng

– Square root: căn bậc hai

– Quadrilateral: tứ giác

– Parallelogram: hình bình hành

– Intersection: giao điểm

– Diagram: biểu đồ, đồ thị, sơ đồ

– Integer number: số nguyên

– Least value: giá trị bé nhất

– Greatest value: giá trị lớn nhất

– prime number: số nguyên tố

– stated: đươc phát biểu, được trình bày

– maximu: giá trị cực đại

– retardation: sự giảm tốc, sự hãm

– ordering: thứ tự, sự sắp xếp theo thứ tự

– ascending order: thứ tự tăng

– descending order: thứ tự giảm

– rounding off: làm tròn

【#3】Câu Hỏi Ôn Tập Học Kỳ 2

Chương III§10 CƠ SỞ DỮ LIỆU QUAN HỆ : HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ

– Các thao tác và các phép toán trên dữ liệu.

    Khái niệm: Mô hình dữ liệu là một tập các khái niệm, dùng để mô tả CTDL, các thao tác dữ liệu, các ràng buộc dữ liệu của một CSDL.

– Các ràng buộc dữ liệu.

Trong mô hình quan hệ:

+ Về mặt cấu trúc dữ liệu được thể hiện trong các bảng. Mỗi bảng thể hiện thông tin về một loại đối tượng (một chủ thể) bao gồm các hàng và các cột. Mỗi hàng cho thông tin về một đối tượng cụ thể (một cá thể) trong quản lí.

+ Về mặt thao tác trên dữ liệu: có thể cập nhật dữ liệu như : thêm, xóa hay sửa bản ghi trong một bảng.

+ Về mặt ràng buộc dữ liệu: dữ liệu trong một bảng phải thỏa mãn một số ràng buộc. Chẳng hạn, không được có hai bộ nào trong một bảng giống nhau hoàn toàn; với sự xuất hiện lặp lại của một số thuộc tính ở các bảng, mối liên kết giữa các bảng được xác lập. Mối liên kết này thể hiện mối quan hệ giữa các chủ thể được CSDL phản ánh.

CSDL được xây dựng trên mô hình dữ liệu quan hệ gọi là CSDL quan hệ. Hệ QTCSDL dùng để tạo lập, cập nhật và khai thác CSDL quan hệ gọi là hệ QTCSDL quan hệ.

Một quan hệ trong hệ CSDL quan hệ có những đặc trưng sau:

– Mỗi quan hệ có một tên phân biệt với tên các quan hệ khác.

– Các bộ là phân biệt và thứ tự các bộ không quan trọng.

– Mỗi thuộc tính có một tên để phân biệt, thứ tự các thuộc tính không quan trọng.

– Quan hệ không có thuộc tính là đa trị hay phức

CSDL được xây dựng trên mô hình dữ liệu quan hệ gọi là CSDL quan hệ. Hệ QTCSDL dùng để tạo lập, cập nhật và khai thác CSDL quan hệ gọi là hệ QTCSDL quan hệ.

Một quan hệ trong hệ CSDL quan hệ có những đặc trưng sau:

– Mỗi quan hệ có một tên phân biệt với tên các quan hệ khác.

– Các bộ là phân biệt và thứ tự các bộ không quan trọng.

– Mỗi thuộc tính có một tên để phân biệt, thứ tự các thuộc tính không quan trọng.

4.Khóa và liên kết giữa các bảng:

– Quan hệ không có thuộc tính là đa trị hay phức hợp.

– Khóa:

Khóa của một bảng là một tập thuộc tính gồm một hay một số thuộc tính của bảng có hai tính chất:

+ Không có 2 bộ khác nhau trong bảng có giá trị bằng nhau trên khóa.

+ Không có tập con thực sự nào của tập thuộc tính này có tính chất trên.

– Khoá chính:

Một bảng có thể có nhiều khóa. Trong các khóa của một bảng người ta thường chọn (chỉ định) một khóa làm khóa chính.

Khi nhập dữ liệu cho một bảng, giá trị của mọi bộ tại khóa chính không được để trống.

    Mỗi bảng có ít nhất một khóa. Việc xác định khóa phụ thuộc vào quan hệ lôgic của các dữ liệu chứ không phụ thuộc vào giá trị của các dữ liệu.

Chú ý :

– Nên chọn khóa chính là khóa có ít thuộc tính nhất.

– Liên kết:

Thực chất sự liên kết giữa các bảng là dựa trên thuộc tính khóa. Chẳng hạn thuộc tính số thẻ là khóa của bảng người mượn xuất hiện lại ở bảng mượn sách đã tạo nên liên kết giữa 2 bảng này.

Để tạo một bảng ta cần phải khai báo cấu trúc bảng bao gồm các bước:

– Đặt tên trường.

– Chỉ định kiểu dữ liệu cho trường.

– Khai báo kích thước của trường.

Một ví dụ về giao diện để tạo bảng như trong hình 75.

– Chọn khóa chính cho bảng bằng cách để hệ QTCSDL tự động chọn hoặc ta xác định khóa thích hợp trong các khóa làm khóa chính.

– Đặt tên bảng và lưu cấu trúc bảng.

2.Cập nhật dữ liệu

– Tạo liên kết bảng.

– Phần lớn các hệ QTCSDL cho phép tạo ra biểu mẫu nhập dữ liệu Hình.76 để làm cho công việc nhập dữ liệu trở nên dễ dàng hơn, nhanh hơn và hạn chế bớt khả năng nhầm lẫn.

– Dữ liệu nhập vào có thể được chỉnh sửa, thêm, xóa.

+ Thêm bản ghi bằng cách bổ sung một hoặc một vài bộ dữ liệu vào bảng.

+ Chỉnh sửa dữ liệu là việc thay đổi các giá trị của một bộ mà không phải thay đổi toàn bộ giá trị các thuộc tính còn lại của bộ đó.

3.Khai thác CSDL: a. Sắp xếp các bản ghi :

+ Xóa bản ghi là việc xóa một hoặc một số bộ của bảng

b.Truy vấn CSDL:

Một trong những việc mà một hệ QTCSDL thường phải thực hiện là khả năng tổ chức hoặc cung cấp phương tiện truy cập các bản ghi theo một trình tự nào đó. Ta có thể hiển thị trên màn hình hay in ra các bản ghi theo trình tự này. Các bản ghi có thể được sắp xếp theo nội dung của một hay nhiều trường.

Truy vấn là một phát biểu thể hiện yêu cầu của người sử dụng. Truy vấn mô tả các dữ liệu và đặt các tiêu chí để hệ QTCSDL có thể thu thập dữ liệu thích hợp. Nói một cách khác, đó là một dạng bộ lọc, có khả năng thu thập thông tin từ nhiều bảng trong một hệ CSDL quan hệ.

Để phục vụ được việc truy vấn CSDL, thông thường các hệ QTCSDL cho phép nhận các biểu thức hay các tiêu chí nhằm các mục đích sau:

– Định vị các bản ghi.

– Thiết lập mối quan hệ hay các liên kết giữa các bảng để kết xuất thông tin.

– Liệt kê một tập con các bản ghi.

– Thực hiện các phép toán.

– Xóa một số bản ghi.

– Thực hiện các thao tác quản lí dữ liệu khác.

Thông thường các hệ QTCSDL cung cấp nhiều cách xem dữ liệu.

a. Xem toàn bộ bảng.

b. Có thể dùng công cụ lọc dữ liệu để xem một tập con các bản ghi hoặc một số trường trong bảng.

c.Các hệ QTCSDL quan hệ quen thuộc cũng cho phép tạo ra các biểu mẫu để xem các bản ghi.

Trông tin trong một báo cáo được thu thập bằng cách tập hợp dữ liệu theo các tiêu chí do người sử dụng đặt ra. Báo cáo thường được in ra hay hiển thị trên màn hình theo khuôn mẫu định sẵn. Cũng như các biểu mẫu, các báo cáo có thể xây dựng dựa trên các truy vấn.

1. Các hệ CSDL tập trung

CHƯƠNG IV – KIẾN TRÚC VÀ BẢO MẬT HỆ CƠ SỞ DỮ LIỆU

b. Hệ CSDL trung tâm

Với hệ CSDL tập trung, toàn bộ dữ liệu được lưu trữ tại một máy hoặc một dàn máy. Những người dùng từ xa có thể truy cập vào CSDL thông qua các phương tiện truyền thông dữ liệu. Nói chung có ba kiểu kiến trúc tập trung:

c. Hệ CSDL khách – chủ

Là hệ CSDL với dữ liệu được lưu trữ trên máy tính trung tâm, nhiều người sử dụng từ xa có thể truy cập CSDL này thông qua các thiết bị đầu cuối và các phương tiện truyền thông. Tùy thuộc vào quy mô của tổ chức, máy tính trung tâm này là một dàn máy hay một máy. Các hệ CSDL trung tâm thường rất lớn và có nhiều người dùng, ví dụ các hệ thống đăng kí và bán vé máy bay, các hệ thống thông tin của tổ chức tài chính,…

– Trong kiến trúc khách-chủ, các thành phần (của hệ QTCSDL) tương tác với nhau tạo nên hệ thống gồm thành phần yêu cầu tài nguyên và thành phần cấp tài nguyên. Hai thành phần này không nhất thiết phải cài đặt trên cùng một máy tính.

– Thành phần cấp tài nguyên thường được cài đặt tại một máy chủ trên mạng (cục bộ)

– Còn thành phần yêu cầu tài nguyên

Có thể cài đặt tại nhiều máy khác trên mạng (ta gọi là các máy khách).

– Phần mềm CSDL trên máy khách quản lí các giao diện khi thực hiện chương trình.

– Kiến trúc loại này có một số ưu điểm sau:

+ Khả năng truy cập rộng rãi đến các CSDL.

+ Nâng cao khả năng thực hiện: các CPU ở máy chủ và máy khách khác nhau có thể cùng chạy song song, mỗi CPU thực hiện nhiệm vụ của riêng nó.

+ Chi phí cho phần cứng có thể được giảm do chỉ cần máy chủ có cấu hình đủ mạnh để lưu trữ và quản trị CSDL.

+ Chi phí cho truyền thông được giảm do một phần các thao tác được giải quyết trên máy khách, chỉ cần: yêu cầu về truy cập CSDL gửi đến máy chủ và dữ liệu kết quả gửi về cho máy khách.

+ Nâng cao khả năng đảm bảo tính nhất quán của dữ liệu vì các ràng buộc được định nghĩa và kiểm tra chỉ tại máy chủ.

2. Các hệ CSDL phân tán a. Khái niệm CSDL phân tán

+ Kiến trúc này phù hợp với việc mở rộng các hệ thống.

Một hệ QTCSDL phân tán là một hệ thống phần mềm cho phép quản trị CSDL phân tán và làm cho người sử dụng không nhận thấy sự phân tán về lưu trữ dữ liệu.

– Người dùng truy cập vào CSDL phân tán thông quan chương trình ứng dụng. Các chương trình ứng dụng được chia làm hai loại:

+ Chương trình không yêu cầu dữ liệu từ nơi khác.

+ Chương trình có yêu cầu dữ liệu từ nơi khác.

– Có thể chia các hệ CSDL phân tán thành 2 loại chính: thuần nhất và hỗn hợp.

+ Hệ CSDL phân tán thuần nhất: các nút trên mạng đều dùng cùng một hệ QTCSDL.

b. Một số ưu điểm và hạn chế của các hệ CSDL phân tán Sự phân tán dữ liệu và các ứng dụng có một số ưu điểm so với các hệ CSDL tập trung:

+ Hệ CSDL phân tán hỗn hợp: các nút trên mạng có thể dùng các hệ QTCSDL khác nhau.

+ Cấu trúc phân tán dữ liệu thích hợp cho bản chất phân tán của nhiều người dùng.

+ Dữ liệu được chia sẻ trên mạng nhưng vẫn cho phép quản trị dữ liệu địa phương (dữ liệu đặt tại mỗi trạm)

+ Dữ liệu có tính sẵn sàng cao.

+ Hiệu năng của hệ thống được nâng cao hơn.

So với các hệ CSDL tập trung, hệ CSDL phân tán có một số hạn chế như sau:

+ Cho phép mở rộng các tổ chức một cách linh hoạt. Có thể thêm nút mới vào mạng máy tính mà không ảnh hưởng đến hoạt động của các nút sẵn có.

+ Hệ thống phức tạp hơn vì phải làm ẩn đi sự phân tán dữ liệu đối với người dùng.

+ Chi phí cao hơn.

+ Đảm bảo an ninh khó khăn hơn.

+ Đảm bảo tính nhất quán dữ liệu khó hơn.

+ Việc thiết kế CSDL phân tán phức tạp hơn

BÀI 10. CƠ SỠ DỮ LIỆU QUAN HỆ

Câu 1: Mô hình phổ biến để xây dựng CSDL quan hệ là:

A. Mô hình phân cấp B. Mô hình dữ liệu quan hệ

C. Mô hình hướng đối tượng D. Mô hình cơ sỡ quan hệ

Câu 2: Các khái niệm dùng để mô tả các yếu tố nào sẽ tạo thành mô hình dữ liệu quan hệ?

A. Cấu trúc dữ liệu B. Các ràng buộc dữ liệu

C. Các thao tác, phép toán trên dữ liệu D. Tất cả câu trên

Câu 3: Mô hình dữ liệu quan hệ được E. F. Codd đề xuất năm nào?

A. 1975 B. 2000 C. 1995 D. 1970

Câu 4: Trong mô hình quan hệ, về mặt cấu trúc thì dữ liệu được thể hiện trong các:

A. Cột (Field) B. Hàng (Record) C. Bảng (Table) D. Báo cáo (Report)

Câu 5: Thao tác trên dữ liệu có thể là:

A. Sửa bản ghi B. Thêm bản ghi C. Xoá bản ghi D. Tất cả đáp án trên

Câu 6: Phát biểu nào về hệ QTCSDL quan hệ là đúng?

A. Phần mềm dùng để xây dựng các CSDL quan hệ

B. Phần mềm dùng để tạo lập, cập nhật và khai thác CSDL quan hệ

C. Phần mềm Microsoft Access

D. Phần mềm để giải các bài toán quản lí có chứa các quan hệ giữa các dữ liệt

Câu 7: Thuật ngữ “quan hệ” dùng trong hệ CSDL quan hệ là để chỉ đối tượng:

A. Kiểu dữ liệu của một thuộc tính B. Bảng C. Hàng D. Cột

Câu 8: Thuật ngữ “bộ” dùng trong hệ CSDL quan hệ là để chỉ đối tượng:

A. Kiểu dữ liệu của một thuộc tính B. Bảng C. Hàng D. Cột

Câu 9: Thuật ngữ “thuộc tính” dùng trong hệ CSDL quan hệ là để chỉ đối tượng:

A. Kiểu dữ liệu của một thuộc tính B. Bảng C. Hàng D. Cột

Câu 10: Thuật ngữ “miền” dùng trong hệ CSDL quan hệ là để chỉ đối tượng:

A. Kiểu dữ liệu của một thuộc tính B. Bảng C. Hàng D. Cột

Câu 11: Trong hệ CSDL quan hệ, miền là:

A. Tập các kiểu dữ liệu trong Access B. Kiểu dữ liệu của một bảng

C. Tập các thuộc tính trong một bảng D. Kiểu dữ liệu của một thuộc tính

Câu 12: Phát biểu nào trong các phát biểu sau là sai khi nói về miền?

A. Các miền của các thuộc tính khác nhau không nhất thiết phải khác nhau

B. Mỗi một thuộc tính có thể có hai miền trở lên

C. Hai thuộc tính khác nhau có thể cùng miền

D. Miền của thuộc tính họ tên thường là kiểu text

Câu 13: Đặc điểm nào sau đây là đặc trưng của một quan hệ trong hệ CSDL quan hệ?

A. Các bộ là phân biệt và thứ tự các bộ không quan trọng

B. Quan hệ không có thuộc tính đa trị hay phức tạp

C. Mỗi thuộc tính có một tên phân biệt và thứ tự các thuộc tính là quan trọng

D. Tên của các quan hệ có thể trùng nhau

Câu 14: Cho bảng dữ liệu sau:

ó các lí giải nào sau đây cho rằng bảng đó không phải là một quan hệ trong hệ CSDL quan hệ?

A. Tên các thuộc tính bằng chữ Việt B. Không có thuộc tính tên người mượn

C. Có một cột thuộc tính là phức hợp D. Số bản ghi quá ít.

Câu 15: Cho bảng dữ liệu sau:

Bảng này không là một quan hệ trong hệ CSDL quan hệ, vì:

A. Ðộ rộng các cột không bằng nhau B. Có hai bản ghi có cùng giá trị thuộc tính số thẻ là TV – 02

C. Một thuộc tính có tính đa trị D. Có bản ghi chưa đủ các giá trị thuộc tính

Câu 16: Phần mềm nào sau đây không phải là hệ QT CSDL quan hệ?

A. Visual Dbase, Microsoft SQL Server B. Oracle, Paradox

C. OpenOffice, Linux D. Microsoft Access, Foxpro

Câu 17: Khẳng định nào là sai khi nói về khoá?

A. Khoá là tập hợp tất cả các thuộc tính trong bảng để phân biệt được các cá thể

B. Khoá là tập hợp tất cả các thuộc tính vừa đủ để phân biệt được các cá thể

C. Khoá chỉ là một thuộc tính trong bảng được chọn làm khoá

D. Khoá phải là các trường STT

Câu 18: Phát biểu nào sai trong các phát biểu sau khi nói về khoá chính?

A. Một bảng có thể có nhiều khoá chính

B. Mỗi bảng có ít nhất một khoá

C. Xác định khoá phụ thuộc vào quan hệ logic của các dữ liệu chứ không phụ thuộc vào giá trị các dữ liệu

D. Nên chọn khoá chính là khoá có ít thuộc tính nhất

Câu 19: Khi cập nhật dữ liệu vào bảng, ta không thể để trống trường nào sau đây?

A. Khóa chính B. Khóa và khóa chính

C. Khóa chính và trường bắt buộc điền dữ liệu D. Tất cả các trường của bảng

Câu 20: Trong mô hình quan hệ, ràng buộc như thế nào được gọi là ràng buộc toàn vẹn thực thể (ràng buộc khoá)?

A. Các hệ QT CSDL quan hệ kiểm soát việc nhập dữ liệu sao cho dữ liệu tại các cột khoá chính không được để trống, dữ liệu tại các cột khoá chính không được trùng nhau để đảm bảo sự nhất quán dữ liệu

B. Dữ liệu tại các cột khoá chính không được để trống

C. Dữ liệu tại các cột khoá chính không được trùng nhau

D. Dữ liệu tại các cột khoá chính không được để trống nhưng được trùng nhau

Câu 21: Danh sách của mỗi phòng thi gồm có các trường : STT, Họ tên học sinh, Số báo danh, phòng thi. Ta chọn khoá chính là :

A. STT B. Số báo danh C. Phòng thi D. Họ tên học sinh

Câu 22: Giả sử một bảng có 2 trường SOBH (số bảo hiểm) và HOTEN (họ tên) thì nên chọn trường SOBH làm khoá chính hơn vì :

A. Trường SOBH là duy nhất, trong khi đó trường HOTEN không phải là duy nhất

B. Trường SOBH là kiểu số, trong khi đó trường HOTEN không phải là kiểu số

C. Trường SOBH đứng trước trường HOTEN

D. Trường SOBH là trường ngắn hơn

Câu 23. Trong bảng sau đây, mỗi học sinh chỉ có mộ mã số (Mahs)

Khoá chính của bảng là:

A. Khoá chính = {Mahs}

B. Khoá chính = {HoTen, Ngaysinh, Lop, Diachi, Toan}

C. Khoá chính = {HoTen, Ngaysinh, Lop, Diachi, Li}

D. Khoá chính = {HoTen, Ngaysinh, Lop, Diachi}

Câu 24. Hai bảng trong một CSDL quan hệ liên kết với nhau thông qua :

A. Địa chỉ của các bảng B. Thuộc tính khóa

C. Tên trường D. Thuộc tính của các trường được chọn (không nhất thiết phải là khóa)

Câu 25: Cho các bảng sau :

– DanhMucSach(MaSach, TenSach, MaLoai)

– LoaiSach(MaLoai, LoaiSach)

– HoaDon(MaSach, SoLuong, DonGia)

Để biết giá của một quyển sách thì cần những bảng nào ?

Câu 26: Việc đầu tiên để tạo lập một CSDL quan hệ là :

A. HoaDon B. DanhMucSach, HoaDon C. DanhMucSach, LoaiSach D. HoaDon, LoaiSach

A. Tạo ra một hay nhiều biểu mẫu B. Tạo ra một hay nhiều báo cáo

Câu27: Thao tác khai báo cấu trúc bảng bao gồm :

C. Tạo ra một hay nhiều mẫu hỏi D. Tạo ra một hay nhiều bảng

A. Khai báo kích thước của trường B. Tạo liên kết giữa các bảng

Câu 28: Thao tác nào sau đây không thuộc loại tạo lập CSDL quan hệ?

C. Đặt tên các trường và chỉ định kiểu dữ liệu cho mỗi trường D. Câu A và C đúng

A. Tạo cấu trúc bảng B. Chọn khoá chính

Câu 29: Trong quá trình tạo cấu trúc của một bảng, khi tạo một trường, việc nào sau đây không nhất thiết phải thực hiện?

C. Ðặt tên bảng và lưu cấu trúc bảng D. Nhập dữ liệu ban đầu

A. Đặt tên, các tên của các trường cần phân biệt B.Chọn kiểu dữ liệu

Câu30: Cho các thao tác sau : B1: Tạo bảng B2: Đặt tên và lưu cấu trúc B3: Chọn khóa chính cho bảng B4: Tạo liên kết Khi tạo lập CSDL quan hệ ta thực hiện lần lượt các bước sau:

C. Đặt kích thước D. Mô tả nội dung

Câu 31: Thao tác nào sau đây không phải là thao tác cập nhật dữ liệu?

A. B1-B3-B4-B2 B. B2-B1-B2-B4 C. B1-B3-B2-B4 D. B1-B2-B3-B4

A. Nhập dữ liệu ban đầu B. Sửa những dữ liệu chưa phù hợp

Câu 32: Chỉnh sửa dữ liệu là:

C. Thêm bản ghi D. Sao chép CSDL thành bản sao dự phòng

A. Xoá một số quan hệ B. Xoá giá trị của một vài thuộc tính của một bộ

Câu 33: Xoá bản ghi là :

C. Thay đổi các giá trị của một vài thuộc tính của một bộ D. Xoá một số thuộc tính

A. Xoá một hoặc một số quan hệ B. Xoá một hoặc một số cơ sở dữ liệu

Câu 34: Thao tác nào sau đây không là khai thác CSDL quan hệ?

C. Xoá một hoặc một số bộ của bảng D. Xoá một hoặc một số thuộc tính của bảng

A. Sắp xếp các bản ghi B. Thêm bản ghi mới

Câu 35: Khai thác CSDL quan hệ có thể là:

C. Kết xuất báo cáo D. Xem dữ liệu

A. Tạo bảng, chỉ định khóa chính, tạo liên kết B. Đặt tên trường, chọn kiểu dữ liệu, định tính chất trường

Câu 36: Sau khi tạo cấu trúc cho bảng thì:

C. Thêm, sửa, xóa bản ghi D. Sắp xếp, truy vấn, xem dữ liệu, kết xuất báo cáo

A. Không thể sửa lại cấu trúc B. Phải nhập dữ liệu ngay

C. Có thể lưu lại cấu trúc và nhập dữ liệu sau

Câu 37: Hai bảng trong một CSDL quan hệ được liên kết với nhau bởi các khóa. Điều khẳng định nào sau đây là đúng?

D. Khi tạo cấu trúc cho bảng xong thì phải cập nhật dữ liệu vì cấu trúc của bảng không thể sửa đổi

A. Các khóa liên kết phải là khóa chính của mỗi bảng

B. Trong các khóa liên kết phải có ít nhất một khóa là khóa chính ở một bảng nào đó

C. Trong các khóa liên kết có thể không có khóa chính nào tham gia

Câu 38: Tìm phương án sai. Thao tác sắp xếp bản ghi:

D. Tất cả đều đúng

A. Chỉ thực hiện sắp xếp trên một trường

B. Có thể thực hiện sắp xếp trên một vài trường với mức ưu tiên khác nhau

C. Không làm thay đổi vị trí lưu các bản ghi trên đĩa

Câu 39: Truy vấn cơ sở dữ liệu là gì?

D. Để tổ chức lưu trữ dữ liệu hợp lí hơn

A. Là một đối tượng có khả năng thu thập thông tin từ nhiều bảng trong một CSDL quan hệ

B. Là một dạng bộ lọc

C. Là một dạng bộ lọc;có khả năng thu thập thông tin từ nhiều bảng trong một CSDL quan hệ

Câu 40: Khi xác nhận các tiêu chí truy vấn thì hệ QTCSDL sẽ không thực hiện công việc:

D. Là yêu cầu máy thực hiện lệnh gì đó

A. Xoá vĩnh viễn một số bản ghi không thoả mãn điều kiện trong CSDL

B. Thiết lập mối quan hệ giữa các bảng để kết xuất dữ liệu.

C. Liệt kê tập con các bản ghi thoả mãn điều kiện

Câu 41: Chức năng của mẫu hỏi (Query) là:

D. Định vị các bản ghi thoả mãn điều kiện

A. Tổng hợp thông tin từ nhiều bảng B. Sắp xếp, lọc các bản ghi

Câu 42: Chức năng chính của biểu mẫu (Form) là:

C. Thực hiện tính toán đơn giản D. Tất cả các chức năng trên

A. Tạo báo cáo thống kê số liệu B. Hiển thị và cập nhật dữ liệu

Câu 43: Câu nào sau đây sai?

C. Thực hiện các thao tác thông qua các nút lệnh D. Tạo truy vấn lọc dữ liệu

A. Không thể tạo ra chế độ xem dữ liệu đơn giản

B. Có thể dùng công cụ lọc dữ liệu để xem một tập con các bản ghi hoặc một số trường trong một bảng

C. Các hệ quản trị CSDL quan hệ cho phép tạo ra các biểu mẫu để xem các bản ghi

D. Có thể xem toàn bộ dữ liệu của bảng

Câu 44: Đặc điểm của hệ quản trị CSDL phân tán là :

A. Chỉ quản lí dữ liệu người dùng B. Cho phép quản trị CSDL phân tán

Câu 45: Trong hệ CSDL phân tán, việc xử lí các yêu cầu dữ liệu được thực hiện ở:

C. Do CSDL tập trung D. Do nhiều người dùng phân tán dữ liệu lên mạng

A. Tại trạm truy cập B. Tại trạm trung tâm

Câu 46: Trong hệ CSDL phân tán, việc truy cập dữ liệu được thực hiện ở

C. Tại một trạm gần trạm truy cập D. Tại tất cả các trạm

A. Tại trạm truy cập B. Tại tất cả các trạm ở các nơi khác nhau

C. Trạm truy cập nhiều nhất D. Tại trạm đặt ở vị trí trung tâm

A. Là hệ CSDL được cài đặt trên máy tính trung tâm cho phép nhiều người sử dụng cùng một lúc

B. Nhiều người dùng từ xa có thể truy cập vào CSDL này thông qua thiết bị đầu cuối và các phương tiện truyền thông

C. Máy tính trung tâm này chỉ là một máy tính duy nhất

D. Các hệ CSDL trung tâm thường rất lớn và có nhiều người dùng

Câu 48 :Hãy chọn ý kiến đúng nhất. Về đặc điểm nổi bật nhất của mô hình dữ liệu quan hệ có các ý kiến sau:

A. Cấu trúc dữ liệu trong mô hình quan hệ được thể hiện qua bảng ( mỗi bảng là một quan hệ, mỗi cột là một thuộc tính, mỗi hàng trong bảng là một bản ghi các giá trị thuộc tính của một cá thể)

B. Có các phép toán và thao tác cập nhật và tìm kiếm dữ liệu trong các bảng

C. Dữ liệu trong các bảng phải thoả mãn một số ràng buộc , giữa các bảng nhất định thường có liên kết thểhiện mối quan hệ giữa các chủ thể được csdl phản ánh

Câu49: Đặc điểm của hệ quản trị CSDL phân tán là?

D. Cả ba đặc điểm trên.

A. Chỉ quản lí dữ liệu người dùng B. Do CSDL tập trung

A. Hệ CSDL phân tán làm tăng hiệu quả truy cập dữ liệu

B. Người dùng truy cập vào CSDL phân tán thông qua chương trình ứng dụng

C. Cho phép người dùng truy cập không chỉ dữ liệu đặt tại chỗ mà cả những dữ liệu để ở xa

Câu 51: Thành phần nào trên máy chủ tiếp nhận và xử lí yêu cầu về CSDL?

D. Dữ liệu được định nghĩa phân tán và quản trị tập trung tại một CSDL duy nhất đặt tại một vị trí

A. Thành phần quản trị CSDL trên máy chủ

B. Thành phần có yêu cầu dữ liệu từ nơi khác trên máy chủ

C. Thành phần không yêu cầu dữ liệu từ nơi khác trên máy chủ

Câu 52: Trong mẫu hỏi dữ liệu nguồn là?

D. Thành phần yêu cầu tài nguyên trên máy chủ

A. Các bảng và các mẫu hỏi B. Các bảng

A. Dùng chung và tập trung B. Dùng chung

Câu 54: Phát biểu nào sau đây là sai?

C. Dùng chung và phân tán D. Phân tán

A. Trong hệ CSDL cá nhân người dùng là người quản trị CSDL

B. Hệ CSDL cá nhân thường rất lớn và có nhiều người dùng

C. Hệ CSDL cá nhân được lưu trữ trên một máy

Câu 56: Ý nào sau đây là một trong các đặc trưng của một quan hệ trong hệ CSDL quan hệ?

D. Hệ CSDL cá nhân có cơ chế bảo mật thấp

A. Thứ tự các thuộc tính rất quan trọng

B. Thứ tự các bộ là rất quan trọng

C. Mỗi quan hệ có thể có nhiều tên

Câu 57: Thành phần nào trên máy khách tiếp nhận yêu cầu của người dùng?

D. Quan hệ không có thuộc tính đa trị hay phức hợp

A. Thành phần không yêu cầu dữ liệu từ nơi khác trên máy khách

B. Thành phần yêu cầu tài nguyên trên máy khách

C. Thành phần quản trị CSDL trên máy khách

Câu 58: Chọn phát biểu sai.

D. Thành phần có yêu cầu dữ liệu từ nơi khác trên máy khách

A. Trong một bảng có thể có nhiều khóa chính

B. Mỗi bảng có ít nhất một khóa

C. Việc xác định khóa phụ thuộc vào quan hệ logic của các dữ liệu

D. Nên chọn khóa chính là khóa có ít thuộc tính nhất

A. Tập trung và phân tán B. Thuần nhất và hỗn hợp

C. Tập trung và trung tâm D. Cá nhân và khách chủ

【#4】Kế Toán Chi Phí Khác

Để giúp các bạn nghiên cứu, vận dụng được những nguyên tắc kế toán theo thông tư 133/2016 vào thực tế, chúng tôi xin giới thiệu nội nội dung chi tiết của Tài khoản 811 – Chi phí khác như sau:

Chi phí khác bao gồm các chi phí ngoài các chi phí sản xuất, kinh doanh phát sinh trong quá trình hoạt động kinh doanh thông thường của doanh nghiệp, như chi phí về thanh lý, nhượng bán TSCĐ và giá trị còn lại của TSCĐ thanh lý, nhượng bán; các khoản tiền bị phạt do vi phạm hợp đồng; bị phạt khi truy nộp thuế; các khoản chi phí do kế toán bị nhầm hoặc bỏ sót khi ghi sổ kế toán; các khoản chi phí khác .

Điều 66. Tài khoản 811 – Chi phí khác

1. Nguyên tắc kế toán

a) Tài khoản này phản ánh những khoản chi phí phát sinh do các sự kiện hay các nghiệp vụ riêng biệt với hoạt động thông thường của doanh nghiệp. Chi phí khác của doanh nghiệp có thể gồm:

– Chi phí thanh lý, nhượng bán TSCĐ (gồm cả chi phí đấu thầu hoạt động thanh lý). Số tiền thu từ bán hồ sơ thầu hoạt động thanh lý, nhượng bán TSCĐ được ghi giảm chi phí thanh lý, nhượng bán TSCĐ;

– Chênh lệch giữa giá trị hợp lý tài sản được chia từ BCC nhỏ hơn chi phí đầu tư xây dựng tài sản đồng kiểm soát;

– Giá trị còn lại của TSCĐ bị phá dỡ;

– Giá trị còn lại của TSCĐ thanh lý, nhượng bán TSCĐ (nếu có);

– Chênh lệch lỗ do đánh giá lại vật tư, hàng hóa, TSCĐ đưa đi góp vốn vào công ty liên doanh, liên kết và đầu tư khác;

– Tiền phạt phải trả do vi phạm hợp đồng kinh tế, phạt vi phạm hành chính;

– Các khoản chi phí khác.

b) Các khoản chi phí không được coi là chi phí được trừ theo quy định của Luật thuế TNDN nhưng có đầy đủ hóa đơn chứng từ và đã hạch toán đúng theo Chế độ kế toán thì không được ghi giảm chi phí kế toán mà chỉ điều chỉnh trong quyết toán thuế TNDN để làm tăng số thuế TNDN phải nộp.

Tài khoản 811 không có số dư cuối kỳ.

Để nghiên cứu những nội dung chi tiết của TT133/2017 mời các bạn đọc các bài tiếp theo.

Để có ý kiến tư vấn chính xác và cụ thể hơn, Quý vị vui lòng liên hệ với các chuyên gia kế toán của Kế toán 68 qua Tổng đài tư vấn:

Mr Thế Anh : 0981 940 117

Email: [email protected]

【#5】Toán Học: Lăng Trụ Tam Giác Đều

1) Hình lăng trụ và hình lăng trụ đứng.

a) Định nghĩa và công thức về hình lăng trụ

Trong toán học không gian, hình lăng trụ được xác định là một loại đa diện. Loại đa diện này có 2 mặt đáy là các đa giác phẳng. Còn cách mặt còn lại của hình lăng trụ là các hình bình hành.

Theo công thức toán học, thể tích của hình lăng trụ sẽ được tính như sau:

V=B.h

Trong đó:

  • V là thể tích hình lăng trụ.
  • B là diện tích của mặt đáy.
  • h là khoảng cách giữa 2 mặt đáy/chiều cao hình lăng trụ.

b) Định nghĩa và công thức về hình lăng trụ đứng

Hình lăng trụ đứng được xác định là hình lăng trụ có cạnh bên và mặt đáy vuông góc với nhau.

Thuật ngữ: Thông thường thì ta gặp hình lăng trụ đều có đáy là tam giác hoặc hình vuông trong nhiều bài toán. Người ta thường gọi tắt trường hợp đó với các thuật ngữ là hình lăng trụ tam giác đều, lăng trụ tứ giác đều.

Các tính chất cơ bản của hình lăng trụ đứng bao gồm:

  • Mặt bên của hình lăng trụ đứng là hình chữ nhật.
  • Tất cả các mặt bên của hình lăng trụ đứng đều vuông góc với đáy.

Theo công thức toán học, diện tích của hình lăng trụ đứng được tính như sau:

  • Diện tích xung quanh của lăng trụ đứng = Tổng diện tích các mặt bên = (Chu vi đáy)x(Chiều cao)
  • Diện tích toàn phần của lăng trụ đứng = Tổng diện tích các mặt bên và diện tích 2 đáy.

Cũng theo công thức toán học, diện tích hình lăng trụ đứng vẫn được tính theo công thức:

V = B.h

Trong đó,

  • V là thể tích hình lăng trụ.
  • B là diện tích của mặt đáy.
  • h là chiều cao hình lăng trụ.

2) Hình lăng trụ tam giác đều

a) Định nghĩa hình lăng trụ tam giác đều

Hình lăng trụ tam giác đều được xác định là hình lăng trụ đứng với đáy là tam giác đều.

Hình mô tả của hình lăng trụ tam giác đều:

Như vậy, hình lăng trụ tam giác đều sẽ có các tính chất cơ bản sau:

  • Hai đáy là hai tam giác đều và bằng nhau.
  • Các mặt bên là các hình chữ nhật bằng nhau.
  • Các mặt bên và hai đáy vuông góc với nhau.

b) Các công thức toán học của lăng trụ tam giác đều

Theo toán học, lăng trụ tam giác đều có các công thức như sau:

Trong đó, a là chiều dài cạnh đáy của lăng trụ tam giác đều.

  • Diện tích xung quanh của lăng trụ tam giác đều = Tổng diện tích các mặt bên = (Chu vi đáy) x (Chiều cao) : S = 3.a.h.
  • Diện tích toàn phần của lăng trụ tam giác đều = Tổng diện tích các mặt bên và diện tích 2 đáy: S = 3.a.h +

Trong đó, a là chiều dài cạnh đáy của lăng trụ tam giác đều, h là chiều cao của lăng trụ tam giác đều.

    Thể tích của lăng trụ tam giác đều = (Diện tích đáy) x (Chiều cao): V =

Trong đó, a là chiều dài cạnh đáy của lăng trụ tam giác đều, hi là chiều cao của lăng trụ tam giác đều.

c) Một số bài tập về hình lăng trụ tam giác đều

Bài tập 1: Cho hình lăng trụ tam giác đều ABC.A’B’C’ (đáy là tam giác ABC và A’B’C’) với chiều dài cạnh đáy AB của hình lăng trụ này là 4 cm. Đồng thời, biết được diện tích của hình tam giác A’BC là 8 cmHãy xác định chiều cao và thể tích của khối lăng trụ này.

Bài tập 2: Cho hình lăng trụ tam giác đều ABC.A’B’C’ (đáy là tam giác ABC và A’B’C’) với chiều cao AA’ của hình lăng trụ là 2 cm và diện tích của hình tam giác A’BC là 8 cmHãy xác định chiều dài cạnh đáy, diện tích đáy, diện tích toàn phần và thể tích của khối lăng trụ này.

Bài tập 3:

Tính thể tích V của khối lăng trụ tam giác đều ABC.A’B’C’ có AA′=BC=a.AA′=BC=a.

A. V=a33√12V=a3312

B. V=a33√4V=a334

C. V=a32√6V=a326

D. V=a33

Đáp án đúng: B

Lý giải: ABC là tam giác đều cạnh nên: SABC=a23√4.SABC=a234.

Khi đó VABC.A′B′C′=SABC.AA′=a33√4.VABC.A′B′C′=SABC.AA′=a334.

Bài tập 4: Tính thể tích của khối lăng trụ tam giác đều có tất cả các cạnh đều bằng a.

A. a32a32

B. a33√2a332

C. a33√4a334

D. a33√12a3312

Đáp án đúng: C

Lý giải: Khối lăng trụ của đáy là tam giác đều cạnh a, chiều cao h=a. Nên suy ra có thể tích là: V=Sday.h=a23√4.a=a33√4

Bài tập 5: Cho hình hộp chữ nhật ABCD.A’B’C’D’ với AB=3cm; AD=6cm và độ dài đường chéo AC’=9cm . Tính thể tích V của hình hộp ABCD.A’B’C’D’?

A. V=108cm3V=108cm3

B. V=81cm3V=81cm3

C. V=102cm3V=102cm3

D. V=90cm3V=90cm3

Đáp án đúng: A

Lý giải: Ta có: AC=BD=AB2+AD2−−−−−−−−−−√=35√AC=BD=AB2+AD2=35

CC′=AC′2−AC2−−−−−−−−−−√=6CC′=AC′2−AC2=6

Vậy thể tích hình hộp là:VABCD.A′B′C′D′=3.6.6=108

【#6】Rối Loạn Kiềm Toan Cho Sinh Viên Y Khoa

Đã bao giờ bạn nghe đến khí máu động mạch chưa? Có lẽ đối với sinh viên chúng ta, rối loạn cân bằng kiềm toan là một cái gì đó rất xa vời. Vì sao? Thứ nhất nó rất khó nhớ hoặc là các bạn đang cố gắng để nhớ nó, thứ hai dễ nhầm lẫn, thứ ba chúng ta có khá ít kinh nghiệm và có một số bạn vẫn chưa được thực tập trên những case lâm sàng này. Nhưng các bạn đừng lo, hôm nay chúng tôi sẽ chia sẻ một bài viết mang tính chất kinh điển, bỏ qua những cơ chế khó nhằn, những khái niệm rối ren mà có thể cung cấp cho các bạn những kiến thức cơ bản nhất.

Rối loạn cân bằng kiềm toan là gì?

Để duy trừ sự sống cơ thể phái cân bằng giữa độ acid và base, phá vỡ cân bằng này gọi là rối loạn.

Bình thường pH duy trì ở mức 7.35-7.45 cho phép hoạt động tối ưu của men tế bào, yêu stoos đông máu và protein co cơ.

Điều này được điều hòa và duy trừ bởi hệ thống đệm:

  • Hệ đệm: bicarbonate, phosphate, haemoglobin, protein
  • Điều hòa qua hô hấp: thở nhanh hay chậm thải hoặc giữ CO2
  • Điều hòa qua thận: Bài tiết H+, tái hấp thu HCO3-
  • Điều hòa qua trao đổi ion

Đầu tiên chúng ta phải biết phương trình Hendersen-Hasenbalch:

pH=6,1+log(thiếu=0.5 trọng lượng cơ thể (24-[HCO3- ]của bệnh nhân) mmol/l

KIỀM CHUYỂN HÓA

khi pH tăng, HCO3- tăng

Nguyên nhân

  • Dung NaHCO3- ngoại sinh
  • Giảm bài tiết NaHCO3-: cường aldosteron Nguyên phát, cường aldosteron thứ phát do hẹp động mạch thận, u tiết renin
  • Do mất acid: qua tiêu hóa (nôn ói), qua thận (lợi tiểu)
  • Hạ kali (Toan hóa nước tiểu)

Bệnh cảnh lâm sàng:

Trong nhiễm kiềm chuyển hóa: hệ thần kinh trung ương trở nên kích thích.

Triệu chứng: kích động, lú lẫn, tăng phản xạ, thở nông giảm thông khí (làm ứ đọng CO2 tăng H2CO3 trong dịch ngoại bào).

Ví dụ nôn nhiều ngày gây mất Cl-, gây nhiễm kiềm chuyển hóa, chúng ta nên bù dịch, kháng sinh và chống nôn cho bệnh nhân.

Bài viết mang tính chất tham khảo cho các bạn sinh viên, nhớ được những điều cơ bản không chỉ giúp các bạn dễ dàng trong chẩn đoán mà tự đó nhạy bén trong điều trị, đặc biệt là điều trị nguyên nhân. Đây không phải là một bài hệ thống bài bản, kiến thức sâu rộng nhưng rất mong giúp ích được cho các bạn.

Y LÂM SÀNG là dự án mới, hàng ngày mang đến những case lâm sàng hay. Hy vọng mang lại những thông tin và kiến thức bổ ích cho các bạn sinh viên Y Khoa”.

Xem case lâm sàng hay tại địa chỉ: https://ykhoa.org/category/chuyen-de/ca-lam-sang

Tải ebook Y khoa miễn phí tại: https://ykhoa.org/category/ebook

Tra cứu Uptodate miễn phí tại: https://ykhoa.org/uptodate

Tham gia cùng làm việc tại địa chỉ: https://forms.gle/cQ5M7AdaesKCTcjt9

【#7】Bài Giảng Môn Tin Học Lớp 12

hỉnh thì ở ô đầu hiện cấy bút (chưa lưu), chuyển đi nơi khác thì hiện (đã lưu). - GV: Cập nhật dữ liệu là làm gì? HS: trả lời, đề nghị HS khác bổ sung - Gv: Cụ thể trong Access cập nhật dữ liệu là làm gì? HS: trả lởi, hs khác bổ sung GV: chốt lại ? GV: trường là gì? Hs: trả lời GV: Em hiểu bản ghi như thế nào? HS: trả lời - GV: tại sao phải khai báo kiểu dữ liệu trước (cấu trúc được tạo trước). HS: trả lời, em khác bổ sung d)Di chuyển trong bảng Về đầu Về trước Mới Vị trí Về cuối mẫu tin Về sau Di chuyển bằng phím: - Tab: di chuyển về sau - Shift_tab: di chuyển về trước - Home/End: về đầu và cuối một bản ghi - Ctrl_Home: về đầu - Ctrl_End: về cuối. GV: Nêu chức năng các nút sau: (Dùng đèn chiếu hoặc tranh) HS: trả lời 2. Sắp xếp và lọc: a) Sắp xếp: - Chọn cột cần làm khóa để sắp xếp; - Chọn: : sắp xếp tăng dần (Sort Ascending) : sắp xếp giảm dần (Sort Descending) - Lưu lại b) Lọc: Lịch là cho phép trích ra những bản gi thỏa điều kiện nào đó. Ta có thể lọc hay dùng mẫu hỏi để thực hiện việc này. Có 3 nút lệnh lọc sau: : Lọc theo ô dữ liệu đang chọn (nơi con trỏ đứng : Lọc theo mẫu, nhiều điều kiện dưới dạng mẫu : Lọc / Hủy lọc GV: tại sao phải sắp xếp. Cho ví dụ về sắp xếp. HS: trả lời GV: Người phương tây tên được đặt ở đâu. HS trả lời: ở trước GV: Vậy việc sắp xếp như thế nào. HS: chỉ cần chọn cột họ tên là sắp xếp được. GV: Minh họa (bằng đèn chiếu) sắp xếp có cả họ tên tiếng Việt. Chỉ ra những vị trí sai. Nêu câu hỏi tại sao. HS: vì sắp xếp theo chữ cái đầu tiên, như vậy là sắp theo họ. GV: Muốn sắp xếp tên tiếng Việt ta phải làm như thế nào? HS trả lời, học sinh khác bổ sung. GV: chốt lại Phải tách họ, tên riêng. GV: Yêu cầu HS nghiên cứu mục b lọc và nêu câu hỏi: Em hiểu như thế nào về khái niệm lọc? HS: trả lời Gọi HS khác nhận xét, bổ sung. GV: Có các hình thức lọc nào? HS: trả lời. GV: Mở bảng DSHS ở chế độ Data Sheet View. Chỉ cho HS các nút lệnh lọc trên thanh công cụ. GV: Đưa con trỏ vào 1 ô và bấm chuột vào nút (lọc) .Em hiểu như thế nào về lọc theo ô dữ liệu đang chọn? GV: Thực hiện việc lọc theo mẫu. Và yêu cầu HS nhận xét về hình thức lặp này. GV: Sự khác nhau của 2 cách lọc trên? Đưa ra tình huống 1: Tìm những học sinh có địa chỉ "Hà Nội" GV: Yêu cầu HS trình bày cách thực hiện và cho HS thực hiện trên máy. Tình huống 2: Tìm những HS có địa chỉ "Quảng Ngãi" và sinh năm 1991. Gọi 1 HS trình bày và thực hiện trên máy. GV: Khi nào thì thực hiện việc lọc, khi nào thì thực hiện việc lọc theo mẫu? 3. Tìm kiếm đơn giản: - Định vị con trỏ ở bản ghi đầu tiên. Chọn lệnh Edit - Find (Ctrl_F). - Nháy nút Find. Gõ nội dung cần tìm vào hộp Find What. - Nhấn nút Find Next để tìm. GV: Ta có thể tìm những bản ghi, chi tiết của bản ghi thỏa một số điều kiện nào đó. Chức năng tìm kiếm và thay thế trong Access tương tự chức năng này của Word. Thay thế - Replace Trong trường hợp muốn thay thế ta chọn thẻ Replace, Gõ nội dung cần thay thế vào hộp Replace with. Chọn: - Replace: thay thế tuần tự từng mẫu tin. - Replace All: thay thế tất cả. 4. In dữ liệu: a. Định dạng bảng dữ liệu - Chọn Font cho dữ liệu: - Đặt độ rộng cột và chiều cao hàng. b. Xem trước khi in - Nhấn nút hoặc chọn lệnh File/ Print - PreView - Chọn Close để đóng cửa sổ này. c. Thiết kế trang và in - Định dạng trang in: khổ giấy, lề giấy,... trong menu File / Page Setup - Nhấn nút hoặc chọn lệnh File/ Print. 5. Sử dụng biểu mẫu a. Khái niệm biểu mẫu - Biểu mẫu là một đối tượng trong CSDL Access được thiết kế dùng để: + Hiển thị dữ liệu dưới dạng thuận lợi để xem, nhập và sửa dữ liệu. + Thực hiện các thao tác thông qua các nút lệnh (do người thiết kế tạo ra). - Tạo biểu mẫu mới: Cách 1: Tự thiết kế biểu mẫu. Cách 2: Dùng thuật sỹ để tạo biểu mẫu. b. Tạo biểu mẫu dùng thuật sĩ Thực hiện theo các bước sau: - Nháy đúp vào - Trong hộp Form Wizard, chọn bảng trong hộp Table/Queris - Nháy nút /: chọn từng field hay tất cả. - Chọn Next - Chọn Kiểu Form trong hộp trên. Chọn Next - Chọn cách trình bày của Form trong hộp trên, chọn Next - Chọn tên tiêu đề Form, chọn: + Open the Form to view or enter information: xem hay nhập thông tin + Modify the form's design: sửa đổi thiết kế. - Chọn Finish để hoàn thành. c. Các chế độ làm việc của biểu mẫu. - Chế độ biểu mẫu: chế độ xem hay nhập thông tin. Chọn Form, chọn (Hình thức như mẫu trên). - Chế độ thiết kế: thiết kế hay sửa đổi lại form. Chọn Form, chọn IV. Củng cố: 1. Liệt kê các thao tác làm việc của Access. 2. Tìm kiếm, lọc, sắp xếp 3. Tạo Form. Ngày soạn: ...../....../200 Tiết 12, 13, 14 THỰC HÀNH 2 BIỂU MẪU VÀ CÁC THAO TÁC TRÊN CLDL I. MỤC TIÊU Kỹ năng thực hiện các thao tác để tạo biểu mẫu, nhập dữ liệu, kết xuất thông tin: Biết mở bảng ở chế độ trang dữ liệu; Biết cập nhật dữ liệu vào các bảng; Biết sử dụng các nút lệnh để sắp xếp; Biết sử dụng các nút lệnh để lọc để lọc dữ liệu thỏa điều kiện nào đó; Biết sử dụng chức năng tìm kiếm và thay thế đơn giản; Biết sử dụng thuật sĩ để tạo biểu mẫu đơn giản; Biết sử dụng biểu mẫu để hiển thị từng bản ghi; Biết chỉnh sửa biểu mẫu ở chế độ thiết kế. II. ĐỒ DÙNG DẠY HỌC 1) Giáo viên: SGK, SGV, máy tính xách tay, đèn chiếu, máy tính. Các hình ở tiết 11, 10 trước như hình 21, 22, 23, 24. 2) Học sinh: Thực hành ở phòng máy theo sự hướng dẫn của GV. III. HOẠT ĐỘNG DẠY VÀ HỌC: TG Nội dung Hoạt động Kiểm tra bài cũ: + Em hãy nêu các bước tạo biểu mẫu dùng thuật sĩ. + Nêu các thao tác cập nhật dữ liệu. + Sắp xếp, lọc. Thực hành 2 Bài 1: Tạo biểu mẫu để nhập dữ liệu cho các bảng trong CSDL KINH_DOANH ở bài thực hành 1. Ba bảng ở SGK trang 41. Gv: Trước khi thực hành, hs nêu lại các bước tạo biêủ mẫu dùng thuật sĩ. Trình tự tạo form (dùng thuật sĩ) Bước tạo mới Chọn bảng Chuyển trường Chọn mẫu Form Chọn mẫu trình bày Gõ tên biểu mẫu Chọn finish (hoàn thành) Sau khi hs hoàn thành 3 bảng KHACH_HANG, SAN_PHAM, HOA_DON. Các bước để tạo biểu mẫu: - Nháy đúp vào - Trong hộp Form Wizard, chọn bảng trong hộp Table/Queris. Nháy nút /: chọn từng field hay tất cả.Chọn Next - Chọn Kiểu Form trong hộp trên. Chọn Next - Chọn cách trình bày của Form trong hộp trên, chọn Next - Chọn tên form (tên tiêu đề Form), chọn: + Open the Form to view or enter information: xem hay nhập thông tin + Modify the form's design: sửa đổi thiết kế. - Chọn Finish để hoàn thành. Bài 2: Dựa vào biểu mẫu đã xây dựng được, thực hiện các thao tác trên biểu mẫu tương tự như trên bảng. - Xoá bản ghi thực hiện ntn? - Thêm bản ghi mới thực hiện ntn? - Thay đổi thứ tự trường. - Lưu dữ liệu Bài 3: Để hiển thị thông tin về một khách hàng và các hoá đơn của khách hàng cần xây dựng biểu mẫu chính và biểu mẫu phụ theo cách sau: Mở biểu mẫu form_KHACH_HANG (ở chế độ Design để tạo biểu mẫu này thành biểu mẫu chính). Bấm F11 để đồng thời có cửa sổ Database. Kéo biểu mẫu form_HOA_DON từ cửa sổ Database vào trang thiết kế của biểu mẫu chính (khi đó Access sẽ tạo một biểu mẫu phụ (subform) đặt vào trang thiết kế của form_khach_hang), Hiển thị bảng tính chất của biểu mẫu phụ này (Kích chuột phải vào biểu mẫu phụ, chọn mục Properties). Trên dòng Link Master fields hay Link Childfields chọn liên kết của biểu mẫu chính Ma_khach_hang. Trong trang thiết kế cần điều chỉnh vị trí và kích thước các cột thể hiện form_HOA_DON cho thích hợp. Chế độ trang dữ liệu. Bài 4: - Ở chế độ Dessign view, thay đổi lại cấu trúc của bảng KHACH_HANG : Thêm trường TEN. - Ở chế độ Datasheet view, nhập giá trị trường TEN cho các bản ghi đã có. - Ở chế độ Datasheet view, Chọn nút lệnh sắp xếp theo thứ tự tăng dần ( Ascending) GV. Gọi 3 học sinh GV: Nêu trình tự các bước để tạo form: Hs: trả lời, HS khác bổ sung. GV chốt lại GV: hướng dẫn từng bước Gv quan sát để sửa sai. GV: Cho học sinh nhập dữ liệu từ trang 41 vào 3 bảng. HS: Thực hiện từng bước để tạo form theo yêu cầu của đề bài. GV: chú ý: - Kiểu trình bày của form - Trang trí form - Tên form (cũng là tiêu đề form) IV. Củng cố: - Gv cho hs nhắc lại cách : Tạo biểu mẫu, Hiển thị thông tin, Liên kết, Thay đổi cấu trúc bảng..... - Đọc bài TRUY VẤN DỮ LIỆU tìm hiểu : Tạo mẫu hỏi. Ngày soạn: ...../....../200 Tiết 15, 19 §4. TRUY VẤN DỮ LIỆU I. MỤC TIÊU 1. Kiến thức: Hiểu khái niệm mẫu hỏi. Nắm vứng cách tạo mẫu hỏi mới trong chế độ thiết kế. 2. Kĩ năng: Biết vận dụng một số hàm và phép toán tạo ra các biểu thức số học, biểu thức điều kiện và biểu thức logic để xây dựng mẫu hỏi. Biết các bước chỉnh để tạo một mẫu hỏi. Biết sử dụng hai chế độ: Thiết kế và trang dữ liệu. II. ĐỒ DÙNG DẠY HỌC 1) Giáo viên: SGK, SGV, máy tính xách tay, đèn chiếu, máy tính. Bài giảng được tiến hành trên phòng máy. 2) Học sinh: Thực hành ở phòng máy theo sự hướng dẫn của GV. III. HOẠT ĐỘNG DẠY VÀ HỌC: TG Nội dung Hoạt động 1. Các khái niệm a. Mẫu hỏi: Mẫu hỏi dùng để: Sắp xếp các bản ghi Chọn bản ghi thỏa điều kiện. Chọn các trường để hiển thị Tính toán giá trị Tổng hợp và hiển thị thông tin từ nhiều bảng hay từ tập hợp các bảng và các mẫu hỏi khác b. Biểu thức:(SGK) - Phép toán số học : +, -, *, / - Phép so sánh: , =, =, - Phép toán logic: OR, AND, NOT Toán hạng trong tất cả các biểu thức có thể là tên trường, hằng số, hằng văn bản, các hàm. Mô tả: : Riêng tên trường đặt trong cặp dấu . c. Các hàm: (SGK) Sum Tổng AVG Tính trung bình cộng Kiểu MAX Tìm giá trị lớn nhất số MIN Tìm giá trị nhỏ nhất Count Đếm giá trị khác trống (Null) Gv: Đặt vấn đề: Giả sử mỗi học sinh đóng vai trò là một người quản lí điểm, dữ liệu là một bảng có các trường: STT, HOTEN, NGAYSINH, DTOAN, DTIN, DVAN, DANH, DSINH, DDIA, DSU, DHOA, DTB. Gv: Những vấn đề đặt ra đối với một người quản lý điểm là như thế nào? Hs: Nhận xét giữa các nhóm. Gv: Nhận xét Kết luận (Ở phần nội dung). Gv: Dùng phương pháp vấn đáp trình mục b,c. 2. Tạo mẫu hỏi: Tiến hành: Queries trong cửa sổ CSDL. Có hai cách: Dùng thuật sĩ (Wizard). Tự thiết kế (Design) . Các bước như SGK. Gv: Cách thức để bạn đáp ứng được những yêu cầu trên. Hs: Gv: Làm mẫu. Ta có: Field : Trường hay biểu thức Table: Tên bảng Total: các hàm Sort: sắp xếp Show: hiện / ẩn Criteria: điều kiện Or: điều kiện hoặc dong_nam_a ID ten_nuoc thu_do dan_so dien_tich bobien 1 Việt Nam Hà Nội 80000000 330992 Yes 2 Singapore Xin-ga-po 3000000 647 Yes 3 Thái Lan Băng Cốc 63600000 514000 Yes 4 Lào Vien Chăn 5000000 236800 No 5 Campuchia Phnông-pênh 11400000 181035 Yes 6 Myanma I ang gun 46000000 678500 Yes 7 Indonesia Gia-cac-ta 214000000 1900000 Yes 8 Bruney Banda Xenegachan 300000 5765 Yes 9 Philipines Manila 77100000 300000 Yes 10 Malaixia Kuala Lampua 21700000 329758 Yes 11 Đông Timor Dili 997853 14874 Yes 3. Ví dụ áp dụng: Ví dụ 1. (SGK) Dữ liệu như hình trên. - Các bước tiến hành như sách giáo khoa Ví dụ 2. Bảng điểm của lớp - Các bước tiến hành như sách giáo khoa IV. Củng cố: - Gv cho hs nhắc lại: + Các phép toán của mẫu hỏi + Các bước để tạo mẫu hỏi Ngày soạn: ...../....../200 Tiết 16 KIỂM TRA THỰC HÀNH I. MỤC TIÊU 1. Kiến thức: Tạo bảng, biểu mẫu Nắm vứng cách tạo biểu mẫu mới trong chế độ thuật sĩ và kết hợp thuật sĩ và thiết kế. 2. Kĩ năng: Biết vận dụng . Thao tác nhanh, chính xác, nẵm vững cách tạo form chính phụ. Biết sử dụng hai chế độ: Thiết kế và trang dữ liệu. II. ĐỒ DÙNG DẠY HỌC 1) Giáo viên: Bài kiểm tra được tiến hành trên phòng máy. 2) Học sinh: Thực hành ở phòng máy theo sự hướng dẫn của GV. III. HOẠT ĐỘNG DẠY VÀ HỌC: TG Nội dung Hoạt động Đề: Tạo 2 bảng có cấu trúc như sau: HOCSINH MAHS TEXT (Khóa) HOTEN TEXT PHAI YES/NO DIA_CHI TEXT DIEM MAHS TEXT (Khóa) TOAN NUMBER (2 Số lẻ) LY NUMBER (2 Số lẻ) HOA NUMBER (2 Số lẻ) SINH NUMBER (2 Số lẻ) TB NUMBER (2 Số lẻ) Yêu cầu nhập 10 học sinh ở 2 tệp, nhập đầy đủ điểm nhưng không nhập TB. Tạo 2 form để nhập tương ứng với 2 bảng Tạo form chính phụ để xem điểm của từng học sinh. Yêu cầu kỹ thuật và thang điểm: 1. Tạo được cấu trúc: 2 đ 2. Nhập dữ liệu: 2 đ 3. Liên kết: 2 đ 4. Tạo 2 form của 2 bảng: 2 đ 5. Tạo form chính phụ: 2 đ IV. Củng cố: Ngày soạn: ...../....../200 Tiết 17 ÔN TẬP I. MỤC TIÊU 1. Kiến thức: Tạo bảng, biểu mẫu, mẫu hỏi Nắm vững cách tạo bảng, biểu mẫu mới trong chế độ thuật sĩ và kết hợp thuật sĩ và thiết kế. 2. Kĩ năng: Biết vận dụng . Thao tác nhanh, chính xác việc tạo bảng, biểu mẫu. Biết sử dụng hai chế độ: Thiết kế và trang dữ liệu. II. ĐỒ DÙNG DẠY HỌC 1) Giáo viên: SGK, SGV, máy chiếu, phòn máy nếu có thể. 2) Học sinh: Ô tập theo sự hướng dẫn của giáo viên. III. HOẠT ĐỘNG DẠY VÀ HỌC: TG Nội dung Hoạt động ÔN TẬP Chức năng của hệ quản trị CSDL Sử dụng 3 chế độ: tự thiết kế, dùng thuật sĩ, kết hợp cả 2 để tạo bảng, biểu mẫu, mẫu hỏi. Chức năng của các nút lệnh trong các chế độ nhất là chế độ data sheet. Biểu thức của mẫu hỏi. Các đối tượng của ACCESS. Chức năng của chế độ thiết kế. Liên kết giữa các bảng. Các chế độ làm việc của Access. IV. Củng cố: - Gv cho hs nhắc lại: + Các phép toán của mẫu hỏi + Các bước để tạo mẫu hỏi Ngày soạn: ...../....../200 Tiết 18 KIỂM TRA HỌC KỲ 1 KIỂM TRA HỌC KỲ 1 - NH 2007-2008 MÔN: TIN HỌC - KHỐI 12 I.Mục đích yêu cầu: Khái niệm hệ quản trị cơ sở dữ liệu, cấu trúc bảng (cách tạo và làm việc), các lệnh cơ sở làm việc với bảng và truy xuất dữ liệu, khóa, liên kết giữa các bảng, tạo biểu mẫu, truy vấn dữ liệu. Yêu cầu học sinh: Nắm được các lệnh tạo và thay đổi cấu trúc Bảng ở chế độ thiết kế; Khóa, cách tạo khóa chính, liên kết giữa các bảng. Nắm được các lệnh cơ sở làm việc với Bảng (lọc, sắp xếp, tìm kiếm đơn giản). Nắm được các lệnh truy xuất dữ liệu (biểu mẫu, mẫu hỏi) Nắm được các chức năng của HQTCSDL. Minh họa cụ thể bằng Access. II Ma trận đề: Kiến thức Nội dung Nhận biết Thông hiểu Vận dụng Tổng câu Tổng điểm Chương 1. Khái niệm CSDL và hệ QTCSDL 1 1 đ 1 1 đ Chương 2. Hệ QTCSDL Micrrosoft Access 2, 3, 4 1 đ 5, 6 1 đ 7 2 đ 8, 13, 15 0,25 đ 9,10, 11, 12, 14 0,25 đ 14 9 đ Cộng 4 4 đ 6 4,75 đ 5 1,25 đ 15 10 đ III. Đáp án: Câu 1 đến 6: mỗi câu 1 điểm, câu 7: 2 điểm (mỗi ý đúng 0,2 điểm), Câu 8 đến 15: mỗi câu 0,25 điểm. Câu 1: 1 đ Các chức năng của hệ quản trị cở sở dữ liệu: 1) Cung cấp cách tạo lập CSDL. 2) Cung cấp cách cập nhật dữ liệu, tìm kiếm và kết xuất thông tin. 3) Cung cấp công cụ kiểm soát, điều khiển việc truy cập vào CSDL. Câu 2: 1 điểm Trong chế độ này có thể tạo mới bảng, biểu mẫu, mẫu hỏi, báo cáo,.....hoặc thay đổi cấu trúc bảng, thay đổi nội dung mẫu hỏi, thay đổi cách trình bày và định dạng biểu mẫu, báo cáo. Câu 3: 1 điểm Các đối tượng trong Acess là: Table, Query, Form, Report. Câu 4: 1 đ - Chế độ thiết kế (design view) - Chế độ trang dữ liệ (Data Sheet view) - Chế độ biểu mẫu (Form view) Câu 5: 1 đ Khoá chính là các giá trị dùng để phân biệt các Record với nhau. Mỗi giá trị dùng để đại diện cho một mẫu tin. Các giá trị của một khoá chính không được trùng nhau. Khoá chính của bảng có thể là một field hoặc nhiều field. Câu 6: 1 đ - Chọn Tools ®Relationships - Chọn các bảng và mẫu hỏi cần thiết lập liên kết. Câu 7: 2 điểm (Mỗi ý 0,2 đ) Nút Chức năng (ở chế độ trang dữ liệu) Sắp xếp tăng dần Sắp xếp giảm dần Lọc theo dữ liệu đang chọn Lọc theo mẫu (nhiều điều kiện) Lọc / Hủy lọc Xem trước khi in In Tìm kiếm Xóa mẫu tin Thêm mẫu tin Câu 8: B® D ® C® A Câu 9: C Câu 10: A Câu 11: B Câu 12: C Câu 13: D Câu 14: C Câu 15: C IV. Nội dung đề KIỂM TRA HỌC KỲ 1 - NH 2007-2008 MÔN: TIN HỌC - KHỐI 12 Thời gian làm bài: 45 phút Đề bài: 1) Em nêu các chức năng của hệ quản trị cơ sở dữ liệu. 2) Ở chế độ thiết kế cho phép ta làm được những gì? 3) Hãy nêu các đối tượng trong Access. 4) Các chế độ làm việc của Access. 5) Em hãy mô tả khái niệm KHOÁ CHÍNH. 6) Em điền các bước tiến hành để tạo mối liên kết. 7) Chức năng của các nút sau: Nút Chức năng (ở chế độ trang dữ liệu) Bài làm các câu từ 8 à 15: Câu 8 9 10 11 12 13 14 15 Trả lời 8) Hãy ghép tuần tự các thao tác sau để lưu cấu trúc Bảng. A. Nháy nút Close để đóng cửa sổ; B. Chọn File ®Save hoặc nháy nút lệnh Save; C. Nháy Ok hoặc Enter; D. Gõ tên vào ô Table Name trong hộp Save As 9) Để tạo cấu trúc Bảng trong chế độ thiết kế, thực hiện: A. Chọn nút lệnh Open, rồi chọn design view. B. Chọn nút lệnh View, rồi chọn design view. C. Chọn nút lệnh Table, rồi chọn design view. D. Chọn nút lệnh New, rồi chọn design view. 10) Để thêm trường vào bên trường hiện tại trong chế độ thiết kế, thực hiện: A. Chọn Insert rồi chọn Column và gõ tên trường, chọn kiểu dữ liêu, mô tả... B. Chọn Insert và gõ tên trường, chọn kiểu dữ liêu, mô tả... C. Chọn Edit và gõ tên trường, chọn kiểu dữ liêu, mô tả... D. Chọn Insert rồi chọn Row và gõ tên trường, chọn kiểu dữ liêu, mô tả... 11) Ở chế độ trang dữ liệu, bảng đang được hiển thị, để thêm một bản ghi ta chọn lệnh: A. Edit/New record B. Insert/New record C. Edit/Delete rows D. Insert/Column 12) Trong cửa sổ CSDL đang làm việc, để tạo một Mẫu hỏi mới bằng cách dùng thuật sĩ, ta chọn lệnh: A. Form/Create Table in Design view; B. Table/Create Query by using Wizard; C. Queries/Create Query by using Wizard; D. Queries/Create Query in Design view; 13) Trong cửa sổ CSDL đang làm việc, để mở một Mẫu hỏi đã có, ta chọn lệnh: A. Form/Create Table in Design view; B.Table/Create Query by using Wizard; C. Queries/Create Query by using Wizard; D. Queries/Nháy đúp . 14) Giả sử, với bảng DIEM gồm có các trường TOAN, VAN, ANH, để tính DTB ta chọn: A. DTB:(TOAN+VAN+ANH)/3; B. +):3; C. DTB : (+/3; 15) Để tạo biểu mẫu, trong cửa sổ CSDL đang làm việc, nháy vào nhãn nào là đúng: A. Table B. Queries C. Form D. Report Ngày soạn: ...../....../200 Tiết 20, 21, 22 THỰC HÀNH 3: MẪU HỎI I. MỤC TIÊU 1. Kiến thức: Tạo mẫu hỏi 2. Kĩ năng: Biết vận dụng để tạo mẫu hỏi. II. ĐỒ DÙNG DẠY HỌC 1) Giáo viên: SGK, SGV, máy chiếu, phòng máy. 2) Học sinh: Thực hành theo bài thực hành và sự hướng dẫn của giáo viên. III. HOẠT ĐỘNG DẠY VÀ HỌC: TG Nội dung Hoạt động NỘI DUNG BÀI THỰC HÀNH: Các bước để tạo mẫu hỏi: Chọn nút Queries Chọn Create query in design view Chọn các bảng hay query cần thiết để lấy dữ liệu Chọn các trường cần hiển thị thông tin Chọn trường cần thiết để thiết lập mẫu hỏi. Điều kiện được đặt trên dòng Total hay Criteria cho phù hợp. Thêm trường mới, đặt tên, xây dựng biểu thức cho trường mới. Lưu ý: Field: tên trường Table: tên bảng (thường là tự động hiện sau khi chọn trường) Total: các hàm Group by: nhóm Sum: tính tổng Count: đếm Max: lớn nhất Min: bé nhất Và biểu thức tự xây dựng Show: hiện hay không hiện Criteria: điều kiện Or: điều kiện hoặc với điều kiện Criteria ở trên Sử dụng CSDL KINH_DOANH đã tạo ở những bài trước. Dữ liệu bảng SAN_PHAM Dữ liệu bảng KHACH_HANG Dữ liệu bảng HOA_DON Bài 1: Mẫu hỏi cho bài 1: Kết quả: Bài 2: Nội dung bài 2 Kết quả Bài 3: Nội dung bài 3 Kết quả Bài 4: Nội dung bài 4 Kết quả IV. Củng cố: - Gv cho hs nhắc lại: + Các phép toán của mẫu hỏi + Các bước để tạo mẫu hỏi Ngày soạn: ...../....../200 Tiết 23 §5. BÁO CÁO VÀ KẾT XUẤT BÁO CÁO I. MỤC TIÊU 1. Kiến thức: Thấy được lợi ích của báo cáo trong quản lý. Nắm vững các thao tác tạo báo cáo. 2. Kĩ năng: Biết vận dụng để tạo báo cáo. II. ĐỒ DÙNG DẠY HỌC 1) Giáo viên: SGK, SGV, máy tính, máy chiếu, phòng máy. 2) Học sinh: SGK, bài soạn. III. HOẠT ĐỘNG DẠY VÀ HỌC: TG Nội dung Hoạt động §5. Báo cáo và kết xuất báo cáo 1. Khái niệm báo cáo Báo cáo là phương thức tốt nhất để tổng hợp và trình bày dữ liệu cần in ra theo khuôn dạng cần thiết Báo cáo có những ưu điểm sau: - Thể hiện sự so sánh, tổng hợp theo nhóm các tập hợp

【#8】Bạn Nên Học Javascript Thuần Trước Khi Học Các Framework Js

Bài viết được dịch từ bài gốc: Yes, You Should Learn Vanilla JavaScript Before Fancy JS Frameworks của tác giả Francois-Xavier P. Darveau.

Đó là vào năm 2013. Nhóm phát triển nhỏ chúng tôi đang chuyển giao một dự án ấn tượng ở phía client. Tôi ở chỗ chiếc bàn đứng của mình, đọc lướt qua các email lúc sáng sớm. Đồng nghiệp của tôi đẩy toang cánh cửa văn phòng:

“Có gì đó với ứng dụng Angular của chúng ta, anh bạn ạ. Tôi thấy lỗi digest đang được xử lý xổ ra khắp nơi, và tôi không thể xác định được điều gì đang diễn ra cả.”, anh ta nói, lo lắng thấy rõ.

Nhưng tôi không lo lắng hay căng thẳng gì cả. Tôi biết chính xác nơi bắt đầu để xem xét, vì tôi biết code Javascript của mình.

Tôi biết tất cả những điều này vì một con bot nhỏ. Đúng, ban đọc đúng rồi đấy: một con bot.

Nhìn lại năm 2011.

Nhưng bạn tôi và tôi phải xây dựng một con bot hướng tác vụ, thời gian thực cho một trong các lớp học của chúng tôi.

Chúng tôi nhanh chóng vấp vào một thứ mới mẻ tuyệt vời gọi là chúng tôi (đọc qua tài liệu của nó). Không có phụ thuộc, dễ dàng sinh các tiến trình con, bất đồng bộ và hướng sự kiện … và nhiều người trên mạng nói rằng nó rất tuyệt vời. Chúng tôi không hề có khái niệm gì về Javascript hay V8, nhưng vẫn thấy nó tốt cho dự án của mình.

Nhiều người bạn bảo tôi chỉ cần tìm một thư viện thích hợp với trường hợp của mình rồi copy/paste để việc kết nối socket hoàn tất. Và tôi đã có thể làm điều đó.

Nhưng tôi đã không làm thế. Dù lúc đó tôi không biết, nhưng đó là một quyết định đúng đắn nhất của tôi trong sự nghiệp của mình.

Tôi bắt đầu hăng hái đọc. Về lập trình bất đồng bộ, lịch sử của Javascript, ưu và nhược điểm của nó, mọi thứ. Vì tôi muốn làm chủ các khái niệm cơ bản của ngôn ngữ đang hỗ trợ cho dự án của mình. Và nó tốn khá nhiều thời gian, cà phê, bia và code thử để làm điều đó.

Giữa việc chế ngự sự mất kiên nhẫn của các đồng đội và tạo đống code cơ bản không-được-sạch-đẹp-cho-lắm cho con bot, tôi đã học được rất nhiều.

Vậy vấn đề ở đây là gì? Đó là việc tôi dành đủ thời gian để hiểu các khái niệm cốt lõi của Javascript trước khi sự dụng các tiện ích cung cấp bởi các framework và thư viện Javascript. Và tại sao điều đó lại quan trọng? Chà, đây là điều mà bài viết này muốn nói: đừng giả vờ.

@iamdevloper

Đầu tiên, ý tôi là gì khi nói về “các framework” Javascript ở đây?

Khi tôi dùng framework, tôi xếp tất cả Angular, React, Backbone, Ember, Knockout, Vue, Ext, jQuery, Meteor, Expss, Koa, Total, chúng tôi v..v.., cùng một loại, Phải, tôi biết một số cái khá là khác biệt. Phải, tôi biết một số cái “không thực sự là framework, mà giống như một thư viện hơn và nhân tiện, bạn đã từng thấy thread này trên HN (có thể là Hacker News – ND) chưa”?

Nhưng làm ơn, vì ý nghĩa của bài viết này, hay coi chúng tương đương nhau bởi chức năng chính của chúng.

Và dành cho những người hỏi “Javascript thuần (vanilla Javascript) là gì?”

Cho phép tôi chôm một câu trả lời từ koenpeters trên Stack Overflow:

“VanillaJS là một cái tên để chỉ việc sử dụng Javascript thông thường mà không dùng bất cứ thư viện phụ trợ nào như jQuery. Mọi người dùng tên này như một lời đùa cợt để nhắc các lập trình viên khác rằng ngày nay nhiều thứ có thể làm được mà không cần đến các thư viện Javascript phụ trợ.”

Hay, như trong trường hợp của chúng ta, là không dùng các framework phụ trợ.

Lý do vì sao tôi nghĩ các framework Javascript rất tuyệt vời

“Các framework JS giúp bạn gói gọn các đoạn code khó và phúc tạp.”

“Các framework JS giúp bạn chuyển code nhanh hơn và tăng tốc độ phát triển.”

“Các framework JS buộc bạn tập trung vào giá trị của ứng dụng thay vì cách triển khai nó.”

Và tôi tin rằng giá trị tuyệt vời nhất có thể tìm thấy ở các framework JS là sự cộng tác. Giao diện thống nhất và các phương thức của chúng cho phép các lập trình viên từ, ví dụ như, Canada, Mỹ và Brazil hiểu và làm việc cùng nhau.

Nếu bạn xây dựng một ứng dụng với [viết tên framework ưa thích của bạn vào đây], đến lúc nào đó bạn sẽ có thể tìm một lập trình viên kinh nghiệm để dấn sâu vào codebase của dự án với một sự tự tin. Anh/cô ấy sẽ có thể bắt đầu triển khai các tính năng mà không cần bạn giải thích tất cả các phần kiến trúc trong dự án của bạn.

Một lý do quan trọng khác cho việc sử dụng framework là thực hành. Chúng khiến bạn thực hành, lặp đi lặp lại. Và điều đó tốt, thật đấy! Thực hành luôn dẫn đến nắm vững, dù bạn cố gắng làm thứ gì đi nữa.

Lý do vì sao tôi tin các framework JS không tuyệt vời ĐẾN VẬY

Những người triển khai các framework đều tài năng – ít nhất là hầu hết trong số họ. Họ thực hiện những công việc to lớn để biến những thứ phúc tạp trở thành những thứ đơn giản (ví dụ cung cấp router vô cùng đơn giản phía client trên IE6). Nhưng tất cả những mức gói gọn này có thể nhanh chóng trở nên không tốt.

Trong mọi quá trình phát triển ứng dụng, sẽ có một ngày mà có thứ gì đó không hoạt động như mong muốn, và bạn không thực sự biết tại sao. Đó là lúc bạn phải bắt đầu đào bới. Và khi bạn bắt đầu tìm kiếm qua những đoạn code JS tổng quát, phức tạp, ít tài liệu, bạn phải có một sự hiểu biết sâu về Javascript để hiểu được. Nếu không, tôi đảm bảo là bạn sẽ mất toàn bộ thời gian quý báu của mình mà bạn giữ được khi sử dụng framework. Bạn có thể phải mua một máy pha espsso mới để hoàn thành dealine của mình.

Như tôi đã đọc ở đâu đó: “Bạn không phải là một nhà phát triển Angular hay Expss. Bạn là một lập trình viên.”

Chắc chắn các framework hữu ích cho các nhóm nhỏ làm việc trên một ứng dụng duy nhất. Phải, chúng sẽ tiết kiệm chút thời gian cho bạn (trừ khi bạn là một kẻ nghiện tái cấu trúc code). Nhưng nếu bạn làm việc với nhiều nhóm trên nhiều hơn một ứng dụng? Bạn có thực sự nghĩ tất cả các trưởng nhóm sẽ đồng ý sử dụng cùng một framework cho toàn bộ các ứng dụng? Và nếu có một framework hay ho mới xuất hiện trong năm 2021?

Vấn đề là: khi bạn chọn một framework, bạn tác động đến từng quyết định kỹ thuật sắp tới. Thêm vào đó, bạn dẫn nhóm của mình đến một công nghệ có thể sớm bị phản đối. Điều đó làm tâm trí tôi rối bời.

Làm thế nào mà học Javascript thuần trước khi học các framework JS có thể – và sẽ – giúp bạn.

Javascript giờ đây đã trở thành ngôn ngữ lập trình của web. Hiểu các khái niệm cốt lõi của nó là vấn đề tối quan trọng nếu bạn muốn dựng lên cho mình một sự nghiệp làm web thanh nhã. Đặc biệt nếu như bạn nhắm tới phía frontend.

Trong 5 năm qua, hơn 10 framework JS mới đã ra đời. Đoán xem sẽ có bao nhiêu framework mới trong 5-10 năm tới? Nếu bạn chỉ đơn giản giả vờ biết Javascript, thứ hỗ trợ cho cuộc cách mạng của web, bạn sẽ bắt kịp như thế nào?

Cứ nghĩ về việc mà “các lập trình viên jQuery” đang làm hôm nay: cố gắng bắt kịp Angular. Ngày mai, họ sẽ phải cố gắng bắt kịp React. Và vòng lặp buồn bã cứ thế tiếp tục.

Biết Javascript thuần sẽ khiến bạn thực sự hiểu – hay thậm chí đóng góp cho – các framework JS, và giúp bạn chọn đúng framework khi bạn cần.

Với tôi, việc đó đem lại rất nhiều thứ tích cực:

  • Nó giúp tôi chuyển giao các tính năng rất khó trong một khoảng thời gian cực ngắn ở một ứng dụng Ember mà không cần biết gì về Ember.
  • Nó giúp tôi có một việc làm ở một công ty công nghệ lớn từ một thư viện vô cùng đơn giản mà tôi viết lúc rảnh rỗi.
  • Nó giúp tôi xác định lỗi trong triển khai của các thư viện và gợi ý những giải pháp đơn giản rất nhanh chóng.

Kết luận: Học Javascript thuần trước khi học các framework JS

Và đây là đoạn TL;DR cho mọi người:

  • Nếu bạn không biết các khái niệm cơ bản của web, bạn sẽ đi vào ngõ cụt vì sự tiến hóa của bản thân ngôn ngữ và sự xuất hiện đều đặn của các framework mới.
  • Biết JS thuần sẽ khiến bạn trở thành một kỹ sư chính có thể giải quyết các vấn đề phức tạp (biết được lý do trước khi tìm kiếm một cách điên cuồng).
  • Nó sẽ giúp bạn linh hoạt và năng suất, trên cả frontend và backend.
  • Nó sẽ cho bạn một công cụ để đổi mới, không chỉ để thực thi.
  • Nó sẽ hướng dẫn bạn biết khi nào nên dùng framework, khi nào không.
  • Nó cho bạn hiểu biết chung về cách hoạt động của trình duyệt và máy tính.

Sử dụng một framework JS chắc chắn sẽ giúp bạn đi nhanh ở một chỗ nào đó. Nhưng nó sẽ không đưa bạn đi xa nếu bạn không hiểu các khái niệm cốt lõi đằng sau nó. Cũng như việc học cách chơi Wonderwall trên ghi ta không dạy cho bạn cách soạn nhạc, nhưng nó sẽ giúp bạn có lý do để thực hành.

Và tôi cực kỳ tin rằng nguyên tắc “học cơ bản/gốc rễ trước tiên” này áp dụng cho rất nhiều thứ trong cuộc sống. Từ việc học một ngôn ngữ lập trình mới đến việc học một môn thể thao mới. Việc đó yêu cầu thực hành rất nhiều, nhưng một khi bạn làm chủ nó, việc còn lại duy nhất là sáng tạo với nó. Và đó là nơi mà niềm vui thực sự bắt đầu.

Một vài lời với việc bắt đầu với JS thuần

Tôi hy vọng đã thuyết phục bạn làm bẩn đôi tay mình với Javascript thuần. Vậy nếu bạn muốn bắt đầu phát triển web và chỉ làm việc đó, đây là lời khuyên ở trình độ cao của tôi:

Luôn luôn tò mò, luôn luôn đọc mã nguồn, và luôn luôn tự mình làm thử

Và một vài lời khuyên cụ thể khác:

  • Khi một thư viện hay framework JS mới đang trở thành xu hướng trên Echo JS, Hacker News hay Github, hãy đọc mã nguồn của nó.
  • Mỗi khi bạn viết một đoạn code, thử nghĩ về giải pháp sử dụng JS thuần có thể thỏa mãn yêu cầu của bạn thay vì tìm kiếm một thư viện.
  • Lên Stack Overflow và thử thách mình bằng cách tự mình trả lời một câu hỏi JS thuần.

Dĩ nhiên, bạn nên đăng ký theo dõi các kênh thông tin hữu ích như Echo JS, JS news và ECMAScript Dayly.

Cuối cùng nhưng tuyệt nhiên không kém phần quan trọng, bạn cũng nên đọc về bản thân ngôn ngữ. Các sách cổ điển như Javascript: The Good Parts và sê ri You Don’t Know JS có hàng đống thứ giá trị và hiểu biết sâu sắc.

All Rights Reserved

【#9】Nạp Chồng Toán Tử Và Nạp Chồng Hàm Trong C++

C++ cho phép bạn xác định nhiều hơn một định nghĩa cho một tên hàm hoặc một toán tử trong cùng phạm vi (scope), được gọi tương ứng là Nạp chồng hàm (function overloading)Nạp chồng toán tử (operator overloading) trong C++.

Một khai báo nạp chồng là một khai báo mà đã được khai báo với cùng tên như một khai báo được khai báo trước đó trong cùng phạm vi, ngoại trừ rằng: cả hai khai báo có các tham số khác nhau và định nghĩa khác nhau.

Khi bạn gọi một hàm nạp chồng hoặc một toán tử nạp chồng, thì compiler quyết định định nghĩa thích hợp nhất để sử dụng bằng việc so sánh các kiểu tham số bạn đã sử dụng để gọi hàm hoặc toán tử với các kiểu tham số đã được xác định trong các định nghĩa. Tiến trình lựa chọn hàm nạp chồng hoặc toán tử nạp chồng thích hợp nhất này được gọi là overload resolution – phân giải nạp chồng.

Nạp chồng hàm trong C++

Bạn có thể có nhiều định nghĩa cho cùng tên hàm trong cùng phạm vi. Định nghĩa của hàm phải khác lẫn nhau về kiểu và/hoặc số tham số trong danh sách tham số. Bạn không thể nạp chồng các khai báo hàm mà chỉ khác nhau ở kiểu trả về.

Trong ví dụ sau, cùng một hàm hamIn được sử dụng để in các kiểu dữ liệu khác nhau:

using namespace std; class inDuLieu { public: void hamIn(int i) { cout << "In so nguyen: " << i << endl; } void hamIn(double f) { cout << "In so thuc: " << f << endl; } void hamIn(char* c) { cout << "In ky tu: " << c << endl; } }; int main(void) { inDuLieu idl; // Goi ham hamIn de in so nguyen idl.hamIn(12345); // Goi ham hamIn de in so thuc idl.hamIn(6677.02); // Goi ham hamIn de in ky tu idl.hamIn("Hoc C++ co ban va nang cao tai vietjack.com"); return 0; }

Biên dịch và chạy chương trình C++ trên sẽ cho kết quả sau:

Nạp chồng toán tử trong C++

Bạn có thể định nghĩa lại hoặc nạp chồng hầu hết các toán tử có sẵn trong C++. Vì thế, một lập trình viên có thể sử dụng các toán tử với kiểu tự định nghĩa (user-defined).

Nạp chồng toán tử trong C++ là các hàm với tên đặc biệt: Tên hàm là từ khóa operator theo sau là ký hiệu của toán tử đang được định nghĩa. Giống như bất kỳ hàm khác, một toán tử nạp chồng có một kiểu trả về và một danh sách tham số.

Box operator+(const Box&);

Khai báo toán tử + để cộng hai đối tượng Box và trả về đối tượng Box cuối cùng. Hầu hết toán tử nạp chồng có thể được định nghĩa dưới dạng: các hàm không có thành viên (non-member) hoặc các hàm thành viên lớp. Trong trường hợp trên, chúng ta định nghĩa hàm ở dạng non-member của một lớp, thì sau đó chúng ta phải truyền hai tham số cho mỗi toán hạng, như sau:

Box operator+(const Box&, const Box&);

Ví dụ sau minh họa khái niệm nạp chồng toán tử bởi sử dụng một hàm thành viên. Ở đây, một đối tượng được truyền như là một tham số mà các thuộc tính của nó sẽ được truy cập bởi sử dụng đối tượng này, đối tượng mà sẽ gọi toán tử này có thể được truy cập bởi sử dụng toán tử this, như sau:

using namespace std; class Box { public: double tinhTheTich(void) { return chieudai * chieurong * chieucao; } void setChieuDai( double dai ) { chieudai = dai; } void setChieuRong( double rong ) { chieurong = rong; } void setChieuCao( double cao ) { chieucao = cao; } // Nap chong toa tu + de cong hai doi tuong Box. Box operator+(const Box& b) { Box box; return box; } private: double chieudai; // chieu dai cua mot box double chieurong; // Chieu rong cua mot box double chieucao; // Chieu cao cua mot box }; // ham main cua chuong trinh int main( ) { Box Box1; // Khai bao Box1 la cua kieu Box Box Box2; // Khai bao Box2 la cua kieu Box Box Box3; // Khai bao Box3 la cua kieu Box double thetich = 0.0; // Luu giu the tich cua mot box tai day // thong tin chi tiet cua box 1 Box1.setChieuDai(2.0); Box1.setChieuRong(3.0); Box1.setChieuCao(4.0); // thong tin chi tiet cua box 2 Box2.setChieuDai(5.0); Box2.setChieuRong(6.0); Box2.setChieuCao(7.0); // the tich cua box 1 thetich = Box1.tinhTheTich(); cout << "The tich cua Box1 la: " << thetich <<endl; // the tich cua box 2 thetich = Box2.tinhTheTich(); cout << "The tich cua Box2 la: " << thetich <<endl; // cong hai doi tuong nhu sau: Box3 = Box1 + Box2; // the tich cua box 3 thetich = Box3.tinhTheTich(); cout << "The tich cua Box3 la: " << thetich <<endl; return 0; }

Biên dịch và chạy chương trình C++ trên sẽ cho kết quả sau:

Toán tử có thể nạp chồng và không thể nạp chồng trong C++

Bảng dưới liệt kê danh sách các toán tử có thể được nạp chồng trong C++:

Còn đây là danh sách các toán tử không thể được nạp chồng trong C++:

Ví dụ về Nạp chồng toán tử trong C++

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng….miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile…. mới nhất của chúng tôi.

Bài học C++ phổ biến khác tại vietjack.com:

【#10】1.8 Các Phép Toán Cơ Bản

Chúng ta cùng đến với bài học tiếp theo trong khóa học lập trình C++ trực tuyến hướng thực hành.

Trong bài học hôm nay, chúng ta sẽ học cách sử dụng các phép toán cơ bản như phép cộng, trừ, nhân, chia, chia lấy phần dư, căn bậc 2, lũy thừa, giá trị tuyệt đối, … áp dụng trên các kiểu dữ liệu số cơ bản (int, float, double …).

Ngôn ngữ C++ đã định nghĩa sẵn một số toán tử toán học cơ bản cho các phép tính thông dụng (+, -, *, /, …), một số phép toán phức tạp hơn như căn bậc 2, lũy thừa, … chưa có toán tử được định nghĩa, vì thế chúng ta sẽ sử dụng thêm thư viện cmath để tính kết quả các phép toán trên.

Các toán tử toán học đã được định nghĩa trong C++

Các toán tử toán học được chia thành hai loại: Toán tử một ngôi ( unary operators) và toán tử hai ngôi ( binary operators).

  • Toán tử một ngôi (unary operators) là toán tử chỉ đi cùng với một toán hạng để tạo thành biểu thức có nghĩa.
  • Toán tử hai ngôi (binary operators) là toán tử thường dùng kèm với hai toán hạng để tạo thành một biểu thức có nghĩa.

Trong ngôn ngữ lập trình C++, một toán hạng có thể là một giá trị hoặc một biến ( variable).

Toán tử một ngôi

Có hai toán tử một ngôi trong C++:

Sử dụng toán tử cộng một ngôi trước một giá trị thì kết quả trả về giá trị dương, ngược lại, ta nhận được giá trị âm. Ví dụ:

Chạy lại chương trình trên và nhập từ bàn phím vào một giá trị âm, ta được kết quả:

Giá trị ban đầu nhập vào là -100. Khi sử dụng toán tử một ngôi, ta viết lại như sau:

+(-100) = -100

-(-100) = 100

Toán tử hai ngôi

Ngôn ngữ C++ định nghĩa cho chúng ta 5 toán tử toán học hai ngôi như bảng bên dưới:

Phép toán Modulus (%) có nghĩa là thực hiện phép chia hai số nhưng chỉ lấy phần dư. Phép toán Modulus (%) chỉ cho phép thực hiện với hai giá trị số nguyên.

Chúng ta cùng viết một chương trình in ra kết quả của các phép toán sử dụng toán tử hai ngôi trong C++:

Chạy chương trình trên, nhập vào giá trị cho x là 9, nhập giá trị cho y là 5 và xem kết quả.

Chương trình cho kết quả của các biểu thức như mong đợi, ngoại trừ kết quả của phép chia (/).

Khi thực hiện tính giá trị biểu thức 9 / 5 trong toán học, chúng ta được kết quả là 1.8, nhưng vì kiểu dữ liệu của hai biến chúng ta sử dụng là int (kiểu số nguyên) nên kết quả cũng trả về một giá trị số nguyên (bị mất phần thập phân).

Để giải quyết vấn đề này chúng ta có hai cách:

  • Sử dụng kiểu dữ liệu số thực (float, double, …) cho biến.
  • Ép kiểu.

static_cast có thể nhận một biểu thức làm đầu vào, chuyển nó thành bất cứ kiểu dữ liệu cơ bản gì mà new_type mô tả.

Các bạn cùng xem ví dụ bên dưới để rõ hơn về cách sử dụng static_cast

Cùng xem kết quả chương trình:

Chúng ta đã nhận được kết quả đúng.

Có một lưu ý khi thực hiện phép chia hai số nguyên có chứa giá trị âm trong C++. Trước phiên bản C++11, compiler tự ý làm tròn lên hoặc xuống. Ví dụ -5 / 2 sẽ được kết quả là -3 hoặc -2 tùy vào cách mà compiler làm tròn số.

Toán tử gán (assignment operator)

Phép gán cũng là một trong những toán tử toán học được C++ định nghĩa. Phép gán có tác dụng đưa giá trị của một con số, một biểu thức hoặc lấy giá trị của một biến khác để đưa vào biến được gán.

Cú pháp sử dụng toán tử gán như sau:

Biến được gán giá trị luôn luôn nằm bên trái toán tử “=”.

Toán tử gán có thể dùng ngay khi khai báo biến để vừa khai báo vừa khởi tạo giá trị cho biến, hoặc có thể tách riêng thành một dòng lệnh.

int variable = 5; variable = 10; variable = 5 * 3 + 2; int another_variable = 3; variable = another_variable ; variable = variable ; variable = variable ; variable = variable ; variable = variable / 2; variable = variable % 3;

Những cách sử dụng toán tử gán như trên hoàn toàn hợp lệ.

Riêng với 5 dòng lệnh gán cuối cùng, chúng ta có một cách viết tắt khác ngắn gọn hơn.

Cách dùng này có ý nghĩa hoàn toàn giống với cách viết ở trên.

Ý nghĩa của các toán tử này các bạn có thể tra ở bảng bên dưới:

Sử dụng thư viện cmath

Thư viện cmath định nghĩa cho chúng ta một số hàm tính toán và chuyển đổi toán học cơ bản. Để sử dụng thư viện này, các bạn chỉ cần thêm dòng

tại phần khai báo thư viện trong chương trình.

Một số hàm tính lũy thừa, số mũ:

Các bạn chưa cần phải hiểu về cách khai báo hàm pow như trên. Về mặt ý nghĩa, giá trị thứ nhất (base) được đưa vào hàm pow là cơ số, giá trị thứ hai (exponent) là số mũ, giá trị trả về là lũy thừa cơ số base mũ exponent.

Ví dụ:

Các bạn cùng viết ví dụ trên vào Visual studio và chạy chương trình để xem kết quả mà hàm pow trả về.

Phía trên là phần khai báo hàm sqrt trong thư viện cmath, hàm này nhận vào một giá trị số thực (float, double, long double) và trả về giá trị là căn bậc 2 của giá trị mà bạn đưa vào.

Kết quả chúng ta thu được như sau:

Một số hàm lượng giác

Hàm cos nhận vào một giá trị số thực angle (đơn vị radian) đại diện cho góc mà bạn muốn tính đường cosine, và trả về giá trị là cosine của góc angle đó.

Ví dụ như sau:

Hàm sin nhận vào một giá trị số thực angle (đơn vị radian) đại diện cho góc mà bạn muốn tính đường sine, và trả về giá trị trên đường sine của góc angle đó.

Ví dụ mẫu:

Ngoài ra, chúng ta còn có nhiều hàm khác như tan, atan, … đã được định nghĩa bên trong thư viện cmath.

Một số hàm khác

Hàm abs sẽ nhận vào một giá trị số thực x (kiểu float, double hoặc long double) và trả về giá trị tuyệt đối của x.

Các bạn cùng thử làm theo ví dụ mẫu để làm quen với cách sử dụng hàm abs.

Giá trị ban đầu được khởi tạo cho biến x là -5.0, giá trị tuyệt đối được trả về thông qua hàm abs là 5.0.

Do số lượng các hàm toán học được định nghĩa rất nhiều, nên mình xin dẫn đường link hướng dẫn sử dụng các hàm trong thư viện cmath để các bạn có thể tiện tham khảo khi cần thiết.

http://www.cplusplus.com/reference/cmath/

Tổng kết

Trong bài học hôm nay, chúng ta học cách sử dụng các toán tử toán học trong C++, một số cách sử dụng phép gán (với toán tử ”=”), và một số hàm hổ trợ tính toán trong thư viện cmath.

Hẹn gặp lại các bạn trong các bài học tiếp theo của khóa học lập trình C++ hướng thực hành.

Mọi thắc mắc cần giải đáp trong khóa học này có thể được giải đáp bằng cách đặt câu hỏi tại forum diễn đàn.

chúng tôi

Link Videos khóa học

https://www.udemy.com/c-co-ban-danh-cho-nguoi-moi-hoc-lap-trinh/learn/v4/overview