Task 1 : Implement a table in your database to represent the CarModel entity



Similar documents
LAB 1: Getting started with WebMatrix. Introduction. Creating a new database. M1G505190: Introduction to Database Development

Creating a Database in Access

Table and field properties Tables and fields also have properties that you can set to control their characteristics or behavior.

Once the schema has been designed, it can be implemented in the RDBMS.

Microsoft Office 2010

MS Access: Advanced Tables and Queries. Lesson Notes Author: Pamela Schmidt

Access Part 2 - Design

Ken Goldberg Database Lab Notes. There are three types of relationships: One-to-One (1:1) One-to-Many (1:N) Many-to-Many (M:N).

Access Creating Databases - Fundamentals

Use Find & Replace Commands under Home tab to search and replace data.

- Suresh Khanal. Microsoft Excel Short Questions and Answers 1

Microsoft Access 2010

Microsoft Access 2007 Module 1

Creating and Using Databases with Microsoft Access

Topic: Relationships in ER Diagram and Relationships in MS Access

How To Understand The Basic Concepts Of A Database And Data Science

Databases in Engineering / Lab-1 (MS-Access/SQL)

Microsoft Access 2007 Introduction

Creating tables in Microsoft Access 2007

Filter by Selection button. Displays records by degree to which they match the selected record. Click to view advanced filtering options

Microsoft Access 3: Understanding and Creating Queries

Lesson 07: MS ACCESS - Handout. Introduction to database (30 mins)

Lab Manual. Databases. Microsoft Access. Peeking into Computer Science Access Lab manual

Access Tutorial 1 Creating a Database. Microsoft Office 2013 Enhanced

Microsoft Access XP Session 1 Week 8

MS Access Lab 2. Topic: Tables

Microsoft Using an Existing Database Amarillo College Revision Date: July 30, 2008

Access Queries (Office 2003)

If the database that is required is similar to a template then whole database can be generated by using a template that already exists.

Chapter 5. Microsoft Access

Microsoft Access Introduction

A Basic introduction to Microsoft Access

Microsoft Access 2010 Part 1: Introduction to Access

Microsoft Access Part I (Database Design Basics) ShortCourse Handout

Microsoft Access Basics

Access Tutorial 1 Creating a Database

Microsoft. Access HOW TO GET STARTED WITH

Access Database Design

What is a database? The parts of an Access database

Microsoft Access 2003 Module 1

Create a New Database in Access 2010

Creating a New Database

Microsoft Office Access 2007 Basics

MICROSOFT ACCESS TABLES

Exploring Microsoft Office Access Chapter 2: Relational Databases and Multi-Table Queries

IN THIS PROJECT, YOU LEARN HOW TO

PROJECT ON MICROSOFT ACCESS (HOME TAB AND EXTERNAL DATA TAB) SUBMITTED BY: SUBMITTED TO: NAME: ROLL NO: REGN NO: BATCH:

Introduction to Microsoft Access 2010

INTRODUCTION TO MICROSOFT ACCESS Tables, Queries, Forms & Reports

Integrating Microsoft Word with Other Office Applications

Creating a Database using Access 2007

INTRODUCTION TO MICROSOFT ACCESS MINIMAL MANUAL

Access 2010 Intermediate Skills

How to set up a database in Microsoft Access

Databases and Microsoft Access II

Introduction to Microsoft Access 2013

How to Import Data into Microsoft Access

INTRODUCTION TO DATABASES USING MICROSOFT ACCESS

Lab 9 Access PreLab Copy the prelab folder, Lab09 PreLab9_Access_intro

Access 2010: Creating Queries Table of Contents INTRODUCTION TO QUERIES... 2 QUERY JOINS... 2 INNER JOINS... 3 OUTER JOINS...

Introduction to Microsoft Jet SQL

Microsoft Access 2007 Advanced Queries

Consider the possible problems with storing the following data in a spreadsheet:

Tutorial 3. Maintaining and Querying a Database

Microsoft Office 2010

MICROSOFT ACCESS STEP BY STEP GUIDE

Planning and Creating a Custom Database

Information Technology Services Kennesaw State University

A database is a collection of data organised in a manner that allows access, retrieval, and use of that data.

Access Tutorial 2 Building a Database and Defining Table Relationships

Check out our website!

User Services. Microsoft Access 2003 II. Use the new Microsoft

Using Microsoft Access

Using Microsoft Access Databases

In-Depth Guide Database Basics Creating and Populating

Using SQL Server Management Studio

Getting Started with Access 2007

ECDL. European Computer Driving Licence. Database Software BCS ITQ Level 1. Syllabus Version 1.0

Creating a New MS-Access Database

ACCESS Importing and Exporting Data Files. Information Technology. MS Access 2007 Users Guide. IT Training & Development (818)

10+ tips for upsizing an Access database to SQL Server

MICROSOFT ACCESS A. CREATING A DATABASE B. CREATING TABLES IN A DATABASE

Access Tutorial 8: Combo Box Controls

Computer Science 125. Microsoft Access Project

MS Access. Microsoft Access is a relational database management system for windows. Using this package, following tasks can be performed.

Creating Database Tables in Microsoft SQL Server

Getting Started 2. Inserting a Digital Signature Field without Signing 3. Signing an Unsigned Digital Signature Field 3

Vehicle fleet manager User guide

ECDL Module 5. REFERENCE MANUAL Databases. Microsoft Access 2003 Edition for ECDL Syllabus Four

MICROSOFT OFFICE ACCESS LEVEL 2

How To Create A Database For Employee Records In A Club Account In A Computer System In A Cell Phone Or Cell Phone With A Cell Computer (For A Cell)

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

Microsoft Access Glossary of Terms

Tutorial 3 Maintaining and Querying a Database

DbSchema Tutorial with Introduction in SQL Databases

A Short Tutorial on Using Visio 2010 for Entity-Relationship Diagrams

Transcription:

LAB 2: From data model to database Getting started In this lab you will implement and test a database to represent part of the GCUCars data model you discussed in the tutorial. An example solution for the full data model will be provided. Start up Microsoft Access and create a new database called gcucars.mdb. Create a new Word document called comu114_lab2.doc. You will use this document to record all the SQL statements you use in this lab. Task 1 : Implement a table in your database to represent the CarModel entity You will start by creating a table to represent the CarModel entity. The attributes of CarModel are shown in the class diagram below: CarModel -make -model -enginesize -enginetype Before you actually create the table you will need to decide on the following: table name (following the usual convention this should be CarModels) fields data types for fields primary key for the table (a separate id field is often the best choice) any additional constraints, for example NOT NULL 1. Create a new query in Design View, and close the Show Tables dialog without adding any tables. Save the query as Create CarModels Table. Now switch to SQL View. 2. Enter an SQL Create Table statement which will implement the table according to the decisions you have made. You can see examples of Create Table statements in chapter 2 of your notes. You should make sure your table will have a primary key. You should use the Access SQL data types reference on page 3 to help you choose data types for the fields in your table. page 1

Your SQL statement should start like this: CREATE TABLE CarModels ( 3. Save the query again. If you have made any mistakes in the syntax of your SQL you will get an error message. A syntax error tells you that you have typed something which is not valid SQL: for example, you might have missed out a bracket or a comma, or you may have misspelled one of your data types. You may find the default font size in SQL view rather small when looking for incorrect syntax.you can change the font size to whatever you want by clicking the Office Button and selecting Access Options at the foot of the menu. The Access Options window has a tab marked Object Designers and you can set the Query Design font and size there. 4. Once you have saved the query then run it. If it works, you will not get any obvious feedback. 5. Select Tables in the database window, and check that your new table is there. Open your table and look at it in Datasheet View and Design View. Check that the correct fields are in the table. There will be no data in the table yet. If you are not happy with the table, you can right-click on the table in the database window and select Delete from the pop-up menu to remove it. You can then modify the query and run it again. 6. Finally, record your SQL in your Word document (comu114_lab2.doc). Type the heading TASK1, and copy and paste in the SQL statement from Access. page 2

Access SQL data types quick reference AccessSQL Data Type Text(size) Memo Counter Integer Long Number Double Money Comments Can specify max number of characters of text, up to 255 Use for text with more than 255 characters SQL name for AutoNumber Use for foreign key fields which match to Counter primary keys Use for decimals. You can t specify precision or decimal places in SQL, you must to go into Table Design View after table is created and set properties Field Size (choose Decimal), Precision and Scale (i.e. decimal places). Use for real numbers SQL name for Currency YesNo SQL name for Yes/No, stored values are -1 or 0 DateTime SQL name for Date/Time Notes: This is not a complete list of Access data types Some data types have alternative names, e.g. Number can also be Numeric see http://office.microsoft.com/en-us/access/hp010322291033.aspx for a complete reference page 3

Task 2: Entering data into the table You should now test that you can actually store data successfully in this table. 1. Create a new query in Design View and save the query as Insert CarModel. Switch to SQL View. 2. Enter an SQL Insert statement to store a row in the CarModels table representing the following model: Vauxhall Astra with 1.8 litre petrol engine You can see examples of Insert statements in chapter 2 of your notes. 3. Open the table in Datasheet View and check that the data has been stored successfully. If the table is open you will need to click Refresh All on the Home ribbon tab to see the new data. 4. Record your SQL in your Word document. Type the heading TASK2, and copy and paste in the SQL statement from Access. If you have problems with storing data, you may have to go back and modify your table. For example, you may have chosen a data type for a field which cannot store the required piece of information. If you have to change your create table statement, make sure you save the query and record the modified version in your Word document. 5. Add new rows to your table to represent the following car models. You can do this by editing your insert query, or by entering data in Datasheet view. Note that you can only have one INSERT INTO statement with a single set of VALUES in an Access query. To insert multiple rows you can: create, save and run the query to insert the first row edit the VALUES so that the query inserts the second row, and run the query again edit and run the query to insert the next row...and so on Ford Focus with 1.8 litre petrol engine Ford Mondeo with 2.0 litre diesel engine Toyota Avensis with 2.2 litre diesel engine Vauxhall Vectra with 2.2 litre petrol engine Honda Jazz with 1.4 litre petrol engine Vauxhall Corsa with 1.2 litre petrol engine Toyota RAV-4 with 2.2 litre diesel engine Vauxhall Antara with 1.9 litre diesel engine Honda CR-V with 2.0 litre petrol engine page 4

6. You should try to add rows to test any constraints you have defined in your table. Firstly, if you have specified that any fields should be NOT NULL, you should check that you are not able to add a row with any of those fields left empty. For example, if the model field is NOT NULL, you could test and record the results in your Word document as follows: Test for constraint: Table: CarModels, Field: model, Constraint: NOT NULL Test data: VALUES ('Honda', null, 2.0, 'petrol') Expected result: Error Result: Error Microsoft Access cannot append all the records in the append query Test passed If a test is not passed, you should find and correct the problem and re-test. You can then test the primary key by adding a row which has the same primary key value(s) as an existing row (this test is not necessary if you used an autonumber id field) 7. Look at the engine type information. Can you think of a useful way in which this data could be constrained? You can try to implement this constraint in your table. Hint: to constrain a field to allow only values from a list, you need to view the table in Design View, and select the relevant field. You can then enter a Validation Rule which should be in the form In ( first value, second value, third value ) You can specify any number of values. See your lecture notes for another example of a validation rule. Note that in Access most constraints need to be specified in table Design View after the table is created rather than in the CREATE TABLE statement. You should test this constraint and document the test in a similar way to the example in step 6 above. Test for constraint: Table: CarModels, Field: model, Constraint: validation rule (list of values) etc. page 5

Task 3: Implement a related table In the data model, the Car entity represents a specific vehicle, for example a specific Vauxhall Astra. There can be many cars of any one model - GCUCars might, for example, have five 1.8 litre Astras in their fleet. You will now implement a table to store information about cars, and define the relationship between this and the CarModels table. 1. Design a table called Cars with the fields required to store the information about cars. As before, consider fields, data types, primary key and constraints. 2. Create, save and run new query called Create Cars Table which contains the SQL Create Table statement to implement this table. 3. Define, using SQL, the relationship between the Cars and CarModels tables. You will need to have a field (or fields) in Cars to match the primary key you defined in CarModels. You will also need to define the foreign key. You can do these tasks either: as part of the Create Table statement or using Alter Table after the table has been created. Relevant examples can again be found in chapter 2 of your notes. Should the foreign key field(s) be NOT NULL? Why? 4. Record all SQL statements you use in your Word document under the heading TASK 3. page 6

Now you need to test your new table. 5. Open the Relationships window and check that the relationship between CarModels and Cars is correctly defined. When you show these tables you should see that a one-to-many relationship linking the appropriate fields has already been created it should look like this: 6. Store a row in the Cars table representing the following car which is available for hire. You can use SQL or Datasheet View. SD08XYZ, a red Astra, registered on 1/3/08, mileage 12500 7. Test that data which violate any constraints cannot be stored. Record all test data and the relevant constraints in your Word document. 8. Test to check that the foreign key works as you intended: Try to store a record with the foreign key left empty. Try to store a record with a value in the foreign key which doesn t match a value in the primary key of CarModels Record the results of these tests. 9. Finally, store rows representing the following cars: SE08XXZ, a green Focus, registered on 1/4/08, mileage 14000 SF08XXY, a grey Focus, registered on 2/4/08, mileage 11800 SG08XZY, a blue Astra, registered on 3/4/08, mileage 13000 SH08ZXY, a silver Vectra, registered on 4/4/08, mileage 14600 SJ08ZZZ, a silver Vectra, registered on 4/4/08, mileage 14900 page 7

Task 4: Implementing a one-to-one relationship There is a one-to-one relationship between the Customer and Account entities in the data model. In this task you should design, implement and test a table or tables to store the following information about the following customers: Dario Franchitti, 1 First Street, 0141 987 6543 Danica Patrick, 2 Second Street, 0141 876 5432 Marino Franchitti, 3 Third Street, 0141 765 4321 Sarah Fisher, 4 Fourth Street, 0141 123 4567 These customers all have an account with balance of zero, except Marino Franchitti, who has a balance of 156.68 Use SQL for table creation, and record SQL statements and additional test data in your Word document under the heading TASK 4. page 8

Task 5: Implementing a many-to-many relationship There is a many-to-many relationship between the Employee and Location entities in the data model. In this task you should design, implement and test a table or tables to store the following information about the following employees and locations: Locations: 1 First Avenue, Glasgow 2 Second Avenue, Paisley 3 Third Avenue, Irvine 4 Fourth Avenue, Kilmarnock 5 Fifth Avenue, Ayr Employees: Asif Rashid is an area manager, based at Glasgow and Paisley, earning 25000. Jacklyn Elder is an area manager, based at Irvine, Kilmarnock and Ayr, earning 25000 Carol Koster is a CSR, based at Paisley, earning 15000 Martin Dale is a CSR, based at Kilmarnock and Ayr, earning 16000 Lennox Ward is a service engineer, based at Irvine, earning 21000 Jane Lee is a service engineer, based at Glasgow and Paisley, earning 22000 Use SQL for table creation, and record SQL statements and additional test data in your Word document under the heading TASK 5. page 9

Task 6: Altering a table You have already implemented tables to represent the Location and Car entities. However, you have not implemented the one-to-many relationship between them. In this task you should use Alter Table statements to modify the tables to implement the relationship (actually, you should only need to modify one table). You should then test your modifications as follows: Specify the locations for cars: SD08XYZ at Glasgow SE08XX, at Paisley SF08XXY at Paisley SG08XZY at Paisley SH08ZXY at Kilmarnock Try to specify a non-existent location for SJ08ZZZ this should be unsuccessful (To test this you will need to try to store a row in Cars with no matching row in Locations) Use SQL for table modification, and record SQL statements and additional test data in your Word document under the heading TASK 6 page 10

TASK 7: Completing the database If you have completed tasks 1 to 6, you should be able to complete the database so that it represents the whole data model. The entities you have not dealt with yet are CarType and Hire. In this task you should design, implement, modify and test tables as needed to complete the database. You should be able to store the following information: Vauxhall Corsa and Honda Jazz are in the Economy car type, daily cost 38, CDW 12 Vauxhall Astra and Ford Focus are in the Compact car type, daily cost 45, CDW 14 Ford Mondeo, Toyota Avensis and Vauxhall Vectra are in the Intermediate car type, daily cost 49, CDW 15 Toyota RAV-4, Vauxhall Antara and Honda CR-V are in the SUV car type, daily cost 58, CDW 19 Dario Franchitti hired SD08XYZ on 27/9/08 until 4/10/08 with CDW, start mileage 11800, end mileage 12500 Sarah Fisher hired SG08XZY on 30/10/08 with no CDW, start mileage 13000, and this hire is not completed Use SQL for table creation and modification, and record SQL statements and additional test data in your Word document under the heading TASK 7. page 11