การนำการควบคุมการเข้าถึงไปใช้งานสำหรับทีม
ในบทนี้ได้เรียนรู้วิธีควบคุมการเข้าถึงฐานข้อมูล ซึ่งนำมาสู่แบบฝึกหัดสุดท้ายของคอร์สนี้ โจทย์คือการสร้าง schema และตารางใหม่สำหรับเก็บข้อมูลที่จะให้นักวิทยาศาสตร์ข้อมูลในทีมเข้าถึง แม้สมาชิกในทีมจะเป็นคนที่ไว้วางใจได้ แต่อุบัติเหตุก็อาจเกิดขึ้นได้เสมอ ดังนั้นควรมอบสิทธิ์ให้เพียงเท่าที่จำเป็นต่อการทำงานเท่านั้น สมาชิกเหล่านี้จะมีสิทธิ์เข้าถึงข้อมูลสินเชื่อที่ยังไม่ได้รับการอนุมัติ
- สร้าง schema ชื่อ
analysis - กำหนดตาราง
unapproved_loanใน schema ใหม่นี้ - สร้างผู้ใช้ชื่อ
data_scientist - จำกัดสิทธิ์ของผู้ใช้ให้อ่านข้อมูลจากตารางใหม่ได้เพียงอย่างเดียว
แบบฝึกหัดนี้จะช่วยเสริมความเข้าใจพื้นฐานด้านการควบคุมการเข้าถึงฐานข้อมูล
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างฐานข้อมูล PostgreSQL
คำแนะนำการฝึกหัด
- สร้าง schema ใหม่ชื่อ
analysisสำหรับเก็บตารางที่จะสร้างขึ้น - สร้างตาราง
unapproved_loanภายใน schemaanalysisโดยกำหนดPRIMARY KEY(id),FOREIGN KEY(loan_id) ที่อ้างอิง keyidของตาราง loan และฟิลด์descriptionชนิดTEXTสำหรับระบุเหตุผลที่ปฏิเสธสินเชื่อ - เพิ่มผู้ใช้ชื่อ
data_scientistพร้อมรหัสผ่านchangeme - จำกัดสิทธิ์ผู้ใช้ให้เข้าถึงตาราง
analysis.unapproved_loanแบบอ่านอย่างเดียว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Create the new analysis schema
CREATE SCHEMA ___;
-- Create a table unapproved loan under the analysis schema
CREATE TABLE ___ (
id serial PRIMARY KEY,
loan_id INTEGER REFERENCES loan(id),
description ___ NOT NULL
);
-- Create 'data_scientist' user with password 'changeme'
___ USER ___ WITH ___ '___';
-- Give 'data_scientist' ability to use 'analysis' schema
GRANT ___ ON ___ ___ TO ___;
-- Grant read-only access to table for 'data_scientist' user
___ SELECT ON ___ TO ___;