מהי סכמת מסד נתונים?

תוכן עניינים:

מהי סכמת מסד נתונים?
מהי סכמת מסד נתונים?
Anonim

סכימת מסד נתונים היא אוסף של מטא נתונים המתאר את היחסים בין אובייקטים ומידע במסד נתונים. דרך קלה לדמיין סכימה היא לחשוב עליה כעל קופסה שמכילה טבלאות, נהלים מאוחסנים, תצוגות ונכסי נתונים קשורים. סכימה מגדירה את התשתית של תיבה זו.

שורה התחתונה

ברמתה הבסיסית, סכימה משמשת כמיכל לנכסי נתונים. עם זאת, ספקי מסדי נתונים שונים בונים את הסכמות שלהם בדרכים שונות. אורקל, למשל, מתייחסת לכל סכימה כאל חשבון משתמש. כדי ליצור סכימה חדשה, מנהל מסד נתונים יוצר משתמש מסד נתונים חדש עם שם הסכימה המיועד.

Why Schemas Matter

מכיוון שסכימות מהוות תכונה מבנית בסיסית של מסד נתונים, רוב סביבות מסד הנתונים מחילות הרשאות גישה על אובייקטים ברמת סכימה.

לדוגמה, מסד נתונים של חברה עשוי להכיל סדרה של משתמשים. כל משתמש מקבל סכימה, אך גישה לסכימות שונות ניתנת בנפרד, ובפירוט ההרשאות, למשתמשים מחוץ לסכימה הביתית.

רוב כלי ניהול מסדי הנתונים אינם מציגים סכימות; במקום זאת, הם מפרטים מסדי נתונים ומשתמשים.

Image
Image

לדוגמה, חברה יוצרת חשבונות משתמש (סכמות) עבור בוב וג'יין. זה גם יוצר חשבונות למחלקות כמו משאבי אנוש ושיווק. לאחר מכן, זה נותן לאנליסט בכל מחלקה גישה לחשבון הסכימה של המחלקה שלו.

אנליסט משאבי אנוש יוצר טבלאות ותצוגות בתוך סכימת משאבי אנוש ומעניק גישה לבוב לקרוא (אך לא לכתוב אליה) טבלת משאבי אנוש המפרטת את שמות העובדים ומספרי זהות העובדים.כמו כן, אנליסט משאבי אנוש עשוי להעניק לג'יין גישה לקריאה ולכתיבה לטבלת משאבי אנוש המפרטת מספרי טלפון של עובדים.

על ידי הענקת גישה בדרך זו, רק התפקידים והמשתמשים הנכונים יכולים לקרוא, לכתוב או לשנות את הנתונים בנכס נתונים עצמאי בתוך מסד הנתונים הגדול יותר.

כל מנוע מסד נתונים מסתכל על סכמות כשיטה הבסיסית להפרדת נתונים בסביבה מרובת משתמשים.

מנועי מסד נתונים שונים מתייחסים למשתמשים ולסכימות בצורה שונה. עיין בתיעוד של מנוע מסד הנתונים שלך כדי לגלות את המודלים התחביר והלוגיקה סביב משתמשים, סכימות והענקות הרשאות.

יצירת סכמות

סכימה מוגדרת רשמית באמצעות Structured Query Language (SQL). לדוגמה, ב-Oracle, אתה יוצר סכימה על ידי יצירת חשבון המשתמש שבבעלותו:

CREATE USER bob

IDENTIFIED BY temporary_password

DEFAULT TABLESPACE example

QUOTA 10M ON example

Temporary TABLESPACE temp

QUOTA 5M ON system

PROFILE app_user

PASSWORD EXPIRE;

משתמשים אחרים מקבלים גישה לסכימות חדשות בזכות שם המשתמש שלהם או על ידי תפקיד אחד או יותר שחשבון המשתמש נוסף אליו.

סכימות לעומת מודלים של נתונים

כמו מודל נתונים, סכימה אינה בנויה באופן מהותי כדי לעשות שום דבר. במקום זאת, זוהי תשתית לתמיכה בהרשאות פילוח במסד נתונים.

מודל נתונים הוא אוסף של טבלאות ותצוגות שהצטרפו על מפתחות ספציפיים. נכסי נתונים אלה, ביחד, משרתים מטרה עסקית. מקובל ליישם מודל נתונים על סכימה - עבור מודלים גדולים ומורכבים של נתונים, שיוך אותם עם סכמות גורם לניהול חכם של מסד נתונים. אבל זה לא הכרחי מבחינה לוגית להשתמש בסכימה עבור מודל נתונים או להתייחס למודל נתונים כסכימה.

Image
Image

לדוגמה, מחלקת משאבי אנוש עשויה לכלול מודל נתונים עבור סקירות ביצועי עובדים בסכימה שלה. במקום ליצור סכימה לסקירות אלו, מודל הנתונים יכול לשבת בסכימת HR (יחד עם מודלים אחרים של נתונים) ולהישאר נבדל לוגית באמצעות קידומות של הטבלה ושמות תצוגה של האובייקטים במודל הנתונים.

מודל הנתונים עשוי לזכות בשם לא רשמי, כגון ביקורות ביצועים, ואז כל הטבלאות והתצוגות עשויות להיות קידומת של pr_ ניתן להתייחס לטבלת רישום העובדים כ- hr.pr_employee ללא צורך בסכימה חדשה עבור ביקורות הביצועים.

שאלות נפוצות

    מה ההבדל בין סכימת מסד נתונים למצב מסד נתונים?

    סכימת מסד נתונים מתארת את מסד הנתונים. מצב מסד נתונים מתייחס לתוכן של מסד נתונים ברגע בזמן ויכול להיחשב כהרחבה של סכימת מסד הנתונים.

    מהי סכימה רלציונית של מסד נתונים?

    סכימה רלציונית מתארת את הקשרים בין טבלאות ופריטים המשויכים זה לזה. סכימה יכולה להיות איור גרפי או תרשים, או שהיא יכולה להיכתב בקוד SQL.

מוּמלָץ: