שם הכותב: תאריך: 27 אוקטובר 2013

שיעור 2 – 20/10/13

שרת SQL

שרת ה-SQL נחלק ל-2 חלקים :

  1. שרת – SQL server Ex.
  2. שפה – SQL שפה בה רושמים שאילתות.

בבית – יש להוריד את השרת בגרסת management studio.

כדי להסביר לשרת באיזה מסד נתונים הוא עובד נשמש ב-USE (שם מסד נותנים), כיוון שבניגוד ל-ACCESS, מערכת זו עובדת על סמך מספר מסדי נותנים ולא אחד.

הערה : אין משמעות לאותיות גדולות ולאותיות קטנות אלא אם צוין אחרת.

יצירת מסד נתונים – שלבי עבודה:

  1. נלחץ על New Query, יוצג שולחן עבודה לבן.
  2. רושמים CREATE DATABASE ואז כל שם שרוצים. (אם רוצים שם עם רווחים רצוי להעמיד את כל השם עם גרש כך המערכת תזהה זאת כמילה אחת, למשל 'MY DB').
  3. לוחצים על לחצן Execute / לחצן F5.
  4. רענון עם לחצן ימני על DATABASE שב-Object Explorer ואז רואים את המסד מופיע ברשימה.
  5. פקודת מחיקה של מסד נתונים נקראת Drop – כך שרושמים DROP DATABASE ואז את שם המסד. לאחר מכן נרשמת הודעת מערכת למטה שמסד הנתונים נמחק.

יצירת טבלה – שלבי עבודה:

  1. כדי לבנות טבלה נשתמש ב- CREATE TABLE ולאחר מכן נרשום את שם הטבלה בתוך סוגריים.
  2. לתוך הטבלה ניצור את שמות השדות. הערות:
    1. שם שדה תמיד באנגלית.
    2. בלי רווחים.
    3. בלי סימנים.
    4. אות ראשונה גדולה בתחילת כל מילה חדשה, למשל PersonID.
  1. כללי כתיבת טבלה:
    1. יש לרשום Use ואת שם מסד הנתונים בו נרצה ליצור טבלה.
    2. בניית שדה –
      1. שם שדה             PersonID
      2. סוג נתונים            int
      3. אילוצים            Not Null
      4. פסיק סוגר שורה (פרט לאחרונה)    ,
    3. סוגי נתונים –
      1. מספר נקרא int (הרבה מספרים) או smallint (מעט מספרים).
      2. טקסט נקרא varchar, ולאחריו בתוך סוגריים נרשום את כמות התווים המותרת (אנו קובעים).
      3. תאריך נקרא Date או DateTime.
      4. מילים ששמורות בשפה לצורך שדות יש לעטוף בסוגריים מרובעים []. למשל: Address.
    4. אילוצים :
      1. Not Null משמעו שאת אותו שדה לא ניתן להשאיר ריק, המערכת לא נותנת. ברירת המחדל היא Null כך שניתן להשאיר שדה ריק.
      2. Unique.
      3. Primary Key – קובע מיהו המפתח הראשי.
      4. Foreign Key – קובע מיהו המפתח הזר לצורך יצירת קשרי הגומלין.
      5. Check.
      6. Default – ברירת מחדל, כלומר שדה שנרצה שלא ישתנה או שחוזר על עצמו יוגדר ככזה.

      ניתן לרשום באופנים הבאים:

  • לרשום האילוץ כפי שפורט לעיל.
  • לרשום : CONSTRAINT pk_PersonID, כלומר רושמים אילוץ, את שם האילוץ, מקף תחתון, שם חופשי ואז את סוג האילוץ. לאחר מכן ניתן להוסיף שדה נוסף כמפתח ראשי אף הוא (במקרה בו אנו מעוניינים בשני מפתחות ראשיים). כך: CONSTRAINT pk_PersonID (P_Id, LastName)

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

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

    FOREIGN KEY (P_Id) REFERENCES Persons (P_Id)

  • ברירת מחדל תיבנה על ידי רישום של המידע בתוך גרשיים, כך:

    City varchar (255) DEFAULT 'Sandnes'

  • לפונקציות בעולם המחשבים יש סוגריים, כך: (יינתן תאריך אוטומטי)

    OrderDate date DEFAULT GETDATE()

  1. שורה שרושמים לפניה פעמיים מינוס (–) תיחשב כהערה והמערכת לא תתייחס אליה.
  2. ניתן לראות את השדות של הטבלה שהוזנו בתוך Database -> mydb -> Tables -> dbo.Persons -> Columns.

פתרון תרגיל כיתה:

–create database ClassLesson
use ClassLesson
create table List
(
ListCode varchar (9) Not Null Primary Key,
LastNameHL varchar (50),
FirstNameHL varchar (50),
EstablishedmentDate date DEFAULT GETDATE(),
Budget int,
 );
create table Candidate
(
CandidateID varchar (9) Not Null Primary Key,
LastName varchar (50) Not Null,
FirstName varchar (50) Not Null,
BirthDate date Not Null,
ListCode varchar (9) Not Null,
FOREIGN KEY (ListCode) REFERENCES List(ListCode),
);
create table Project
(
ProjectCode int Not Null Primary Key,
ProjectType varchar Not Null,
StartDate date DEFAULT GETDATE(),
MaxPrice int Not Null,
);
create table CandidateProject
(
CandidateID int Not Null,
ProjectCode int Not Null,
CONSTRAINT PK_Cand Primary Key (CandidateID,ProjectCode),
FOREIGN KEY (CandidateID)
REFERENCES Candidate(CandidateID),
FOREIGN KEY (ProjectCode)
REFERENCES Project(ProjectCode),
);

שייך לנושאים: אריק אדלמן, מסדי נתונים


תשע × = 72

תואר ראשון
תואר שני
מרצים