Presentation is loading. Please wait.

Presentation is loading. Please wait.

Session 8: Databases Teaching Computing to GCSE Level with Python.

Similar presentations


Presentation on theme: "Session 8: Databases Teaching Computing to GCSE Level with Python."— Presentation transcript:

1 Session 8: Databases Teaching Computing to GCSE Level with Python

2 Topics today Databases theory  Databases  Using SQL Programming in Python with sqlite

3 Programming warm up (optional) Task Write a function to convert from pounds to euros that takes two parameters, the number of pounds and the exchange rate. The function will convert pounds to euros and return the number of euros. Extension Write a main() function that will ask the user to enter the number of pounds and the exchange rate and then will call the function you wrote above and then output the answer.

4 From the specification OCR Candidates should be able to: (a)describe a database as a persistent organised store of data (b)explain the use of data handling software to create, maintain and interrogate a database. (c)separation of data from applications and why this is desirable (d)describe the principal features of a DBMS and how they can be used to create customised data handling applications. (e)understand the relationship between entities and tables (f)understand the components of a relational database, such as tables, forms, queries, reports and modules AQA  know how to read and write data from an external database in a way that is appropriate for the programming language(s) used and the problem being solved  understand the basic concepts of a relational database as a data store  be able to explain the terms record, field, table, query, primary key, relationship, index and search criteria  be able to create simple SQL statements to extract, add and edit data stored in databases  have experience of using these SQL statements from within their own coded systems  be able to use databases from within their own web based applications

5 What is a database? A database is a collection of related data, organised such that efficient data processing may be carried out on the data contained in it. The software used to control access to the data is known as a Data Base Management System (DBMS)

6 Relational Database  A collection of tables similar to the one above CarRegMakeModelColourYear AB02ERTPeugeot206Silver2002 AG51DRTFordFocusGreen2001

7 Terminology Quiz – these are the answers!  Field  Table  Report  SQL  Index  Entity  Query  Module  Relationship  Primary Key  Record  Form

8 Definitions (or clues) to follow There are 10 questions – write down the terms

9 A unique field of a record which is used to identify that record.

10 An object, person, event or thing of interest of an organisation about which data is to be held

11 Setting criteria to extract particular data from a database

12 A feature of database software used to view and enter data

13 A collection of fields describing one instance in a table

14 The name of a column of data stored in a table

15 A feature of database software used to produce output from a database

16 The implementation of an entity in a database

17 A link or association between two entities.

18 Storage of an ordered list of key values

19 A standard language used to describe and query data in a database.

20 Answers!

21 An Example Data Dictionary for Contact(Surname, FirstName, Title, Street, Town, PostCode, TelNo)

22 Relationship lA relationship is a link or association between two entities

23 Types of Relationship lOne-to-one lHusband and Wife lPerson and Guide Dog lOne-to-many lMother and Children lBorrower and Library book lMany-to-many lStudent and Course lFilm and Film Star

24 Entity - Relationship Diagrams one - to - one one - to - many many - to - many

25 Enitity-Relationship Diagrams Specify both degree and name of relationship Blind Person Guide Dog

26 Enitity-Relationship Diagrams The name of a relationship helps to establish its degree Blind PersonGuide Dog owns has

27 Enitity-Relationship Diagrams WardPatient The name of a relationship helps to establish its degree

28 Enitity-Relationship Diagrams WardPatient holds/has is The name of a relationship helps to establish its degree

29 Enitity-Relationship Diagrams WardPatient The name of a relationship helps to establish its degree

30 Enitity-Relationship Diagrams Patient

31 Enitity-Relationship Diagrams Patient attacks suffers from has

32 Enitity-Relationship Diagrams attacks suffers from has Patient Illness Many-to-many relationship

33 Many to Many relationships  The tables that make up a relational database cannot represent many-to- many relationships  A many-to-many relationship can be removed by creating a link entity  The link entity’s identifier (primary key) will often be made up of the original entities’ identifiers

34 Removing many-to-many  E.g. Student and course STUDENTCOURSE Create a link table Create a link table STUDENTCOURSE ENROL

35 Removing many-to-many  Using the table notation Student( StudentID, Surname, DOB) Course( CourseID, CourseName, Level)  With the link table Student( StudentID, Surname, DOB) Course( CourseID, CourseName, Level) Enrol( StudentID, CourseID)

36 QBE Example: The query is applied to the student table: The result of the query is

37 Structured Query Language  A standard language used to extract data from a database. More flexible and powerful than QBE and database independent.  Key commands for selecting data  SELECT  FROM  WHERE  ORDER BY 37

38 Structured Query Language To create a table CREATE TABLE To insert data INSERT INTO VALUES

39 Create Table create table customer( customerID integer, firstName text, lastName text, dateOfBirth text, primary key (customerID))

40 TASK: sqLite Browser sqLiteBrowser is open source software that works with sqlite It can be downloaded from herehere We use it prior to using Python and sqLite3 to give some familiarity with SQL first It can be a bit ropey so write your SQL in a text file first! – and then paste in. Use Sqlite to test the examples on the next three slides then experiment with different types of SELECT statement

41 Create Table create table car( carReg text, make text, model text, yearOfReg integer, primary key (carReg))

42 INSERT INTO INSERT INTO car (carReg, make, model, yearOfReg) Values ("MF59 YXS","Hyundai","i20",2009)

43 SELECT.. FROM.. WHERE SELECT CarReg, Make FROM Car WHERE YearOfReg=2009

44 BREAK Python and sqlite3


Download ppt "Session 8: Databases Teaching Computing to GCSE Level with Python."

Similar presentations


Ads by Google