Data Bases

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Data Bases as PDF for free.

More details

  • Words: 692
  • Pages: 8
‫‪.Sql - Structed Query Language‬‬ ‫המודל הטבלאי ‪ - Relational -‬הצגת נתונים ע"י טבלאות המקיימות יחסי גומלין באמצעות מאפיינים משותפים‪.‬‬ ‫המודל הרלציוני ‪ -‬שדה‪ ,‬רשומה‪ ,‬טבלה‪ ,‬מסד נתונים‪ ,‬שדה מפתח‪.‬‬ ‫טרנזקציה ‪ -‬פעולה או רצף של פעולות המתבצעות ע"י המשתמש או תהליך אשר קורא או מעדכן את נתוני בסיס הנתונים‪.‬‬ ‫‪: ACID‬‬ ‫• ‪ – Atomic‬כל טרנזקציה היא יחידה אחת‪ ,‬אטומית המבצעת מטלה אחת בלבד‪.‬‬ ‫• ‪ - Consistency‬טרנזקציה מעבירה את בסיס הנתונים ממצב קונסיסנטי – יציב אחד לשני‪.‬‬ ‫• ‪ - Isolation‬כל טרנזקציה היא יישות בפני עצמה‪.‬‬ ‫• ‪ - Durability‬תוצאות הצלחה נשמרות בתוך בסיס הנתונים‪.‬‬ ‫בסיסי נתונים מבוזרים ‪ – distributed databases -‬אוסף של נתונים הקשורים באופן לוגי והנמצאים פיזית בשרתים שונים‪.‬‬ ‫‪ - DDBMS‬מנוע המאפשר ניהול של בסיסי נתונים מבוזרים‪.‬‬ ‫‪ - VIEW‬הוא רלציה וירטואלית המוגדרת כפקודת ‪ ,sql‬ה‪ view-‬מופעל ויוצר את מרחב התוצאות באופן דינמי‪.‬‬ ‫‪ – DML - data manipulation language‬שפה לניהול הנתונים – ‪.select,update‬‬ ‫‪ – DDL - data definition language‬שפה להגדרות בסיס הנתונים ‪.alter,drop,create -‬‬ ‫‪ – DCL - data control language‬פקודה לשליטה בבסיס הנתונים ‪ ,rollback -‬הרשאות וכדומה‪.‬‬ ‫‪ – Unique & PK‬הגדרת אילוצים ‪ Primary Key‬ו‪ unique-‬גורמת ליצירת אינדקס לא משוכפל על אותן העמודות‪.‬‬ ‫‪ - FK – Foreign Key‬מבטא את היחס הלוגי בין שני הטבלאות‪.‬‬

‫‪: JOIN‬‬ ‫‪ – Inner Join‬הצירוף הפנימי הסטנדרטי – טוב לשליפת נתונים משני טבלאות או יותר‪.‬‬

‫‪ – OuterJoin‬צירוף חיצוני – משתמשים בו כאשר יש לשלוף נתונים שאינם משותפים לשני הטבלאות – ניתן גם‬ ‫להשתמש ב‪.cross Join-‬‬ ‫צירופים חיצוניים ימנים ושמאליים שונים זה מזה רק בסדר הטבלאות המופיעות בפסוקית ‪ .From‬צירוף חיצוני מלא הוא שילוב של‬ ‫שניהם – דבר שלא אפשרי ולכן יש צורך בצירוף חיצוני מלא – ‪.Full Join‬‬ ‫‪Select sales,title from titles left outer join sales on titles.titleid = sales.titleid‬‬

: OuterJoin + InnerJoin

‫‪ – CrossJoin‬מכפלה קרטזית של כל השורות מכל הטבלאות המופיעות במשפט ה‪.select-‬‬ ‫‪Select name,title from authors cross join title‬‬

‫‪ – SelfJoin‬צירוף עצמי – הינו צירוף פנימי או חיצוני על אותה הטבלה‪.‬‬

: Multi Inner Join

: SP-‫דוגמא ל‬ CREATE PROCEDURE spSelectBasketToExcel @orderNum int , @cust int AS BEGIN select distinct orderLine, orderNum, basket.cust, basket.t$part, quant, price,quant*price as total, part.epartdes, part.partname,Custdes,Customers.address ,ename FROM basket inner join Customers on Customers.Cust = basket.cust left join Currencies on Customers.currency = Currencies.Currency inner join part on part.t$part = basket.t$part WHERE)orderNum = @orderNum and basket.cust = @cust( END

:‫הרצת הפרוצדורה‬ EXEC spSelectBasketToExcel 1,1

: Trigger-‫דוגמא ל‬ CREATE TRIGGER TR_SubTask_Num ON Tasks AFTER INSERT, UPDATE AS DECLARE @TaskID int, @count smallint SET @TaskID) = SELECT TOP 1 (T.TaskID) FROM Tasks T, inserted INS WHERE T.TaskID = INS.TaskID( SET @count) = SELECT COUNT(SubTaskID) FROM SubTasks WHERE MainTaskID = @TaskID( IF (@count > 5) BEGIN -- Error report: RAISERROR ('Too Many SubTasks for the MainTask: %d', 16, 1, @TaskID) ROLLBACK TRANSACTION END ELSE BEGIN UPDATE Tasks SET SubTaskNum = @count WHERE TaskID = @TaskID END

: Function-‫דוגמא ל‬ -- This function returns a table CREATE FUNCTION Fnc_isTaskDone (@EndDate datetime) RETURNS @DoneTasksReport TABLE (TaskID varchar(6) primary key, TaskState varchar(1), BeginDate varchar(11), EndDate varchar(11), TaskIssue char(100), SubTaskNum int, WorkersNum int) AS BEGIN DECLARE @TaskID varchar(6), @Date datetime -- Use a Cursor to insert selected values into table DECLARE TasksCursor CURSOR FOR SELECT TaskID, EndDate FROM Tasks OPEN TasksCursor FETCH NEXT FROM TasksCursor into @TaskID, @Date WHILE (@@fetch_status = 0) BEGIN IF (@Date < @EndDate) INSERT @DoneTasksReport SELECT * FROM Tasks WHERE TaskID = @TaskID FETCH NEXT FROM TasksCursor into @TaskID, @Date END CLOSE TasksCursor DEALLOCATE TasksCursor RETURN END :‫הרצת הפונקציה‬ SELECT * FROM Fnc_isTaskDone ('4/6/2003')

: DML ‫פקודות‬ 

SELECT * FROM TABLE



JOIN R1,R2 WHERE R1.B=R2.E GIVING R3



DISTINCT – ‫למנוע כפילויות‬



R1 UNION R2 GIVING R3 - ‫איחוד‬



R1 INTERSECT R2 GIVING R3 - ‫חיתוך‬



SELECT COUNT(EMP_N) FROM TABLE



WHERE ? LIKE ‘%A’ - ‫פילטר‬



GROUP BY - ‫הקבצה‬



HAVING - ‫" – תנאי שמתייחס לקבוצה‬select * from titles group by titleId having count(titlePrice)"



ORDER BY DESC / ASC – ‫סידור‬



SELECT ADDRESS,SUBSTRING(ADDRESS FROM S) AS SUB_ADDRESS



EXTRACT (YEAR FROM DATE) AS YY - ‫שליפת חלק מביטוי‬



SELECT * FROM TABLE WHERE COL = NOT IN ( select distinct ? from ?)

/ FROM 2 FOR 10

Related Documents

Data Bases
June 2020 3
Bases
November 2019 75
Bases
July 2020 33
Bases
May 2020 38
Bases
December 2019 66