בסיסי נתונים ושפת SQL הרצאה #8

Slides:



Advertisements
Similar presentations
Basic SQL Introduction Presented by: Madhuri Bhogadi.
Advertisements

Chapter 4 5 6_ SQL SQL Is: Structured Query Language
1 INTERSECT and EXCEPT: (may no be in MySQL) (SELECT R.A, R.B FROM R) INTERSECT (SELECT S.A, S.B FROM S) (SELECT R.A, R.B FROM R) INTERSECT (SELECT S.A,
1 SQL-Structured Query Language SQL is the most common language used for creating and querying relational databases. Many users can access a database applications.
1 IS 4420 Database Fundamentals Chapter 7: Introduction to SQL Leon Chen.
1 Creating a Non-Conditional List A- What are you going to do? You will “list” “all of the records” in a database. (it means you will not use any condition!)
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 7-1 David M. Kroenke’s Chapter Seven: SQL for Database Construction and.
Tutorial 5 Multi-table queries. Tutorial 5 objectives Displaying Data from Multiple Tables –[ ]Write SELECT statements to access data from more than one.
SQL Tutorials To understand some of the topics please analyze the following tutorials: The following tutorials will help:
DAT702.  Standard Query Language  Ability to access and manipulate databases ◦ Retrieve data ◦ Insert, delete, update records ◦ Create and set permissions.
By Emily Brown. Junior Major: Secondary Education/ English From Baltimore Love the out doors ~Fishing ~Camping ~Hiking.
Lance Armstrong By Forrest. Table of contents Title page Lances life Awards Sponsors Lances bike History of Tour de France Livestrong Bibliography.
SQL Training SQL Statements – Part 1. Confidential & Proprietary Copyright © 2009 Cardinal Directions, Inc. Lesson Objectives Explain the role of SQL.
SQL in Action Amit Bhawnani & Nimesh Shah. Basic Structure SQL is based on set and relational operations with certain modifications and enhancements A.
MS Access Database Connection. Database? A database is a program that stores data and records in a structured and queryable format. The tools that are.
By Sean Boange.  This Database is modelled on the Computer Hardware Store MSY At current they display the numerous products they sell.
Personal information and team information Day of birth: September Full name: Lance Edward Armstrong Nick name: Mellow Johnny Height: 1,77m Weight:
Constraints  Constraints are used to enforce rules at table level.  Constraints prevent the deletion of a table if there is dependencies.  The following.
Final Exam Guide PHP NOTE: PHP CODE WILL BE BLUE, HTML IS BLACK EXAMPLE
Association of Computing Activities Computer Science and Engineering Indian Institute of Technology Kanpur.
IMS 4212: Intro to SQL 1 Dr. Lawrence West, Management Dept., University of Central Florida Introduction to SQL—Topics Introduction to.
FEN  Data Definition: CREATE TABLE, ALTER TABLE  Data Manipulation: INSERT, UPDATE, DELETE  Queries: SELECT SQL: Structured Query Language.
SQL by Example By convention SQL keywords are written in uppercase. SELECT * FROM Books –This query returns all rows in the Books table. –SQL statements.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 7 (Part a): Introduction to SQL Modern Database Management 9 th Edition Jeffrey A.
Lec 3- B Database Integrity 1. Overview Define a database using SQL data definition language Work with Views Write single table queries Establish referential.
IMS 4212: Data Manipulation 1 Dr. Lawrence West, MIS Dept., University of Central Florida Additional Data Manipulation Statements INSERT.
SQL Jan 20,2014. DBMS Stores data as records, tables etc. Accepts data and stores that data for later use Uses query languages for searching, sorting,
Denormalizing Data with PROC SQL. Demoralizing Data with PROC SQL Is that a real word?? Spell Check…
SQL Overview Structured Query Language
Class11 Introduction to relational databases and MySQL MIS 3501, Fall 2015 Brad Greenwood, PhD MBA Department of MIS Fox School of Business Temple University.
1 Introduction to Database Systems CSE 444 Lecture 04: SQL April 7, 2008.
© 2007 by Prentice Hall (Hoffer, Prescott & McFadden) 1 Querying Single Tables with SQL.
SQL. Originally developed by IBM Standardized in 80’s by ANSI and ISO Language to access relational database and English-like non-procedural Predominant.
Exam 2 Review: SQL In, Dimensional Modeling, Pivot Tables, ETL Describe data cube elements Understand facts, dimensions, granularity Create/read a Star.
Order Database – ER Diagram
How to: SQL By: Sam Loch.
Database Access with SQL
CS SQL.
Structured Query Language
Order Database – ER Diagram
Lecture 05: SQL Wednesday, January 12, 2005.
© 2016, Mike Murach & Associates, Inc.
Introduction to Structured Query Language(SQL)
Olympic medal count (top 15 countries) (rank by Gold)
Structured Query Language – The Basics
Order Database – ER Diagram
Order Database – ER Diagram
Cycling Culture in Spain
MIGUEL INDURAIN Miguel Ángel Indurain Larraya was born in Villava Navarre, on July 16, He is a retired Spanish road racing cyclist. He is best known.
MIS2502: Data Analytics SQL – Putting Information Into a Database
Introduction to Database Systems CSE 444 Lecture 04: SQL
MS Access Database Connection
SQL Data Modification Statements.
CHAPTER 6: INTRODUCTION TO SQL
Insert, Update, Delete Manipulating Data.
Web Services שפת SQL כתבה: זהבה יעקובסון ליווי מקצועי : ארז קלר
MIS2502: Data Analytics SQL – Putting Information Into a Database
Aggregations Various Aggregation Functions GROUP BY HAVING.
مقدمة في قواعد البيانات
Database Processing: David M. Kroenke’s Chapter Seven:
SQL Fundamentals in Three Hours
Order Database – ER Diagram
MIS2502: Data Analytics SQL – Putting Information Into a Database
Database Processing: David M. Kroenke’s Chapter Seven:
Order Database – ER Diagram
MIS2502: Data Analytics SQL – Putting Information Into a Database
ER Diagram Master How to use this template
Advanced Joins IN ( ) Expression Subqueries with IN ( ) Expression
MIS2502: Data Analytics SQL 4– Putting Information Into a Database
Database Systems - Introduction to Databases and Data Warehouses
Presentation transcript:

בסיסי נתונים ושפת SQL הרצאה #8 אורן דבוסקין telhaidb@cielago.com

מפגש #8 חזרה - פקודות לעדכון בסיס הנתונים. שלבים בעיצוב בסיס הנתונים. תרגול ב Access.

insert - הוספה הוספת שורה (בודדת) לבסיס הנתונים: רישום הטבלה אליה יש להוסיף את השורה החדשה, ואת הערכים שיתווספו לשורה. מבנה כללי: INSERT INTO [table-name] {( [column-name, … ] )} VALUES ( [value, …. ] ) value = constant * אין צורך בשימוש ב values אם מכניסים ערכים לכל העמודות בטבלה.

insert – הוספה מרובת שורות הוספת מרובת שורות לבסיס הנתונים. מאפשר העתקת נתונים מטבלה אחת והכנסה לטבלה אחרת. INSERT INTO [table-name] {( [column-name, … ] )} [QUERY]

Insert - דוגמאות insert into customers (customer_id, customer_name) values ( 4, ‘Oren’ ); insert into purchases values ( 1,1,now(), 5 ); (customer_id, product_id) values (5,1);

multi row insert - דוגמא insert into purchases_backup select * from purchases where purchase_date between ‘1/1/2011’ and ’31/12/2011’; insert into products (product_id, product_name, category, price ) select 2012000+product_id, ‘2012_’+product_name, category, price*2 from products

update - עדכון עדכון ערכים בשורה בודדת, או בו-זמנית במספר שורות המקיימות תנאי לוגי מסויים. מבנה כללי: זהירות לא לעדכן בטעות את כל הטבלה! UPDATE [table-name] [SET column-name = expression, … ] { WHERE [condition] }

update - דוגמאות עדכון מבצע.... update products set discount = 0.95; נניח והוספנו ללקוחות עמודה חדשה: מספר רכישות. אפשר לעדכן את מספר הרכישות לכל לקוח. update customers c set num_purchases = ( select count(*) from purchases p where c.customer_id = p.customer_id )

delete - מחיקה מחיקת שורה בודדת, או מחיקה בו-זמנית של מספר שורות המקיימות תנאי לוגי מסויים. מבנה כללי: זהירות לא למחוק בטעות את כל הטבלה! DELETE FROM [table-name] { WHERE [condition] }

delete - דוגמאות מחיקת לקוחות לא נאמנים... delete customers where num_purchases = 0; מחיקת מכירות שאין להם לקוח (תיקון בסיס הנתונים): delete purchases where customer_id not in ( select customer_id from customers) delete purchases p where not exists ( select 1 from customers c where c.customer_id = p.customer_id)

עדכונים - דגשים פעולת העדכון צריכה לעמוד בחוקיות: שדות חובה מפתח ראשי מפתח זר חוקיות אחרת שנקבעה עמודות שאינן נכללות בהוספה יקבלו: ערך ריק null ערך ברירת מחדל

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

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

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

דוגמא לכפילות טבלת הרוכבים riders UCInum fullname birthdate team nation height weight 100 Alberto Contador 1/1/1980 Saxo Bank Spain 176 62 200 Lance Armstrong 5/1/1973 Radio Shack USA 178 63 300 Miguel Indurain 1/20/1968 Banesto 185 70 400 Bjran Riis 1/1/1968 Telekon Germany 190 74 450 Robbie McEwen 8/20/1985 Lotto Australia 175 65

דוגמא לכפילות riders UCInum fullname birthdate team nation height weight 100 Alberto Contador 1/1/1980 Saxo Bank Spain 176 62 200 Lance Armstrong 5/1/1973 Radio Shack USA 178 63 300 Miguel Indurain 1/20/1968 Banesto 185 70 400 Bjran Riis 1/1/1968 Telekon Germany 190 74 450 Robbie McEwen 8/20/1985 Lotto Australia 175 65

דוגמא לכפילות riders UCInum fullname birthdate team nation height weight 100 Alberto Contador 1/1/1980 Saxo Bank Spain 176 62 200 Lance Armstrong 5/1/1973 Radio Shack USA 178 63 300 Miguel Indurain 1/20/1968 Banesto 185 70 400 Bjran Riis 1/1/1968 Telekon Germany 190 74 450 Robbie McEwen 8/20/1985 Lotto Australia 175 65

פתרון: יצירת טבלאות משנה פתרון כל כפילות על ידי יצירת טבלאות משנה

דוגמא 2: טבלת התוצאות results UCInum racename racedate place points 100 Tour de France 7/1/2010 1 Giro D' Italia 5/1/2010 95 Paris Nice 4/1/2010 2 50 200 7/1/1999 7/1/2000 7/1/2001 7/1/2002 7/1/2003 7/1/2004 7/1/2005 Amstel Gold Race 4/1/2003 4 20 4/1/2004 70 Olympics 10/1/2000 3 300 5/1/1994 400 Tour De France 7/1/1996 Tour De FRANCE 7/1/1995 75

תרגיל כיתה פקודות עדכון, נרמול בסיס נתונים

שיעור הבא פקודות DDL. נושאים מתקדמים.

תרגיל בית #5 תרגול נרמול בסיס הנתונים. הגשה: 22/1