CPS 510 Data Base I. There are 3 forms of database descriptions the ANSI/SPARK, 1975 and so on

Similar documents
CPS510 Database System Design Primitive SYSTEM STRUCTURE

8) A top-to-bottom relationship among the items in a database is established by a

CPS 510 Data Base I. Query: find all SNRs whose scodes are greater than some SNRs whose name is CB.

Data about data is database Select correct option: True False Partially True None of the Above

Review for Exam 1 CS474 (Norton)

Techno India Batanagar Computer Science and Engineering. Model Questions. Subject Name: Database Management System Subject Code: CS 601

A7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

Mahathma Gandhi University

Chapter 4. The Relational Model

Distributed Database Systems By Syed Bakhtawar Shah Abid Lecturer in Computer Science

Basant Group of Institution

Sankalchand Patel College of Engineering, Visnagar B.E. Semester III (CE/IT) Database Management System Question Bank / Assignment

Assignment Session : July-March

II B.Sc(IT) [ BATCH] IV SEMESTER CORE: RELATIONAL DATABASE MANAGEMENT SYSTEM - 412A Multiple Choice Questions.

SQL Simple Queries. Chapter 3.1 V3.01. Napier University

DATABASE MANAGEMENT SYSTEM SHORT QUESTIONS. QUESTION 1: What is database?

THE RELATIONAL DATABASE MODEL

Chapter 3B Objectives. Relational Set Operators. Relational Set Operators. Relational Algebra Operations

Introduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure

CT13 DATABASE MANAGEMENT SYSTEMS DEC 2015

Solved MCQ on fundamental of DBMS. Set-1

DATABASE MANAGEMENT SYSTEM

Chapter 1: Introduction

SQL: Concepts. Todd Bacastow IST 210: Organization of Data 2/17/ IST 210

Northern India Engineering College, New Delhi Question Bank Database Management System. B. Tech. Mechanical & Automation Engineering V Semester

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.

Review -Chapter 4. Review -Chapter 5

Concepts of Database Management Eighth Edition. Chapter 2 The Relational Model 1: Introduction, QBE, and Relational Algebra

Database Management System 9

Chapter 1 SQL and Data

WHAT IS SQL. Database query language, which can also: Define structure of data Modify data Specify security constraints

Relational Data Model ( 관계형데이터모델 )

1. Considering functional dependency, one in which removal from some attributes must affect dependency is called

RELATIONAL DATA MODEL

; Spring 2008 Prof. Sang-goo Lee (14:30pm: Mon & Wed: Room ) ADVANCED DATABASES

2011 DATABASE MANAGEMENT SYSTEM

CS317 File and Database Systems

D B M G. SQL language: basics. Managing tables. Creating a table Modifying table structure Deleting a table The data dictionary Data integrity

CMP-3440 Database Systems

- Database: Shared collection of logically related data and a description of it, designed to meet the information needs of an organization.

Rajiv GandhiCollegeof Engineering& Technology, Kirumampakkam.Page 1 of 10

normalization are being violated o Apply the rule of Third Normal Form to resolve a violation in the model

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

Keys, SQL, and Views CMPSCI 645

Index. Bitmap Heap Scan, 156 Bitmap Index Scan, 156. Rahul Batra 2018 R. Batra, SQL Primer,

CS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010

Course Outline Faculty of Computing and Information Technology

ADVANCED DATABASES ; Spring 2015 Prof. Sang-goo Lee (11:00pm: Mon & Wed: Room ) Advanced DB Copyright by S.-g.

Relational Model: History

Database Technology Introduction. Heiko Paulheim

Information Systems. Relational Databases. Nikolaj Popov

Database Applications (15-415)

Relational Data Structure and Concepts. Structured Query Language (Part 1) The Entity Integrity Rules. Relational Data Structure and Concepts

Top 88 Question Asked in Part I of MIS 150 EXAM #1 (Chapter 1-4, Appendix C) Exams questions gathered from old tests dating back to Fall 2000

COSC344 Database Theory and Applications. σ a= c (P) Lecture 3 The Relational Data. Model. π A, COSC344 Lecture 3 1

Relational Model. Rab Nawaz Jadoon DCS. Assistant Professor. Department of Computer Science. COMSATS IIT, Abbottabad Pakistan

Databases - 4. Other relational operations and DDL. How to write RA expressions for dummies

Chapter 3: The Relational Database Model

Relational Databases

Database: Introduction

Agenda. Discussion. Database/Relation/Tuple. Schema. Instance. CSE 444: Database Internals. Review Relational Model

Chapter 2: Intro to Relational Model

Chapter 2 Introduction to Relational Models

DS Introduction to SQL Part 1 Single-Table Queries. By Michael Hahsler based on slides for CS145 Introduction to Databases (Stanford)

DATABASE MANAGEMENT SYSTEMS. UNIT I Introduction to Database Systems

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

SQL Fundamentals. Chapter 3. Class 03: SQL Fundamentals 1

Unit 3 The Relational Model

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 7 Introduction to Structured Query Language (SQL)

Database Systems Relational Model. A.R. Hurson 323 CS Building

D.K.M COLLEGE FOR WOMEN(AUTONOMOUS),VELLORE DATABASE MANAGEMENT SYSTEM QUESTION BANK

DATA MODELS. RECORD-BASED Models: OBJECT-BASED Models: HYBRID_BASED LOGICAL Models: PHYSICAL DATA Model. Here we have the following Models:

The Relational Model

Relational Data Model

Oracle Database 10g: Introduction to SQL

Relational Database Systems Part 01. Karine Reis Ferreira

Announcements. Agenda. Database/Relation/Tuple. Discussion. Schema. CSE 444: Database Internals. Room change: Lab 1 part 1 is due on Monday

Chapter 3: Introduction to SQL. Chapter 3: Introduction to SQL

Name :. Roll No. :... Invigilator s Signature : DATABASE MANAGEMENT SYSTEM

Database Management Systems Paper Solution

Midterm Review. Winter Lecture 13

Chapter 3: Introduction to SQL

The SQL data-definition language (DDL) allows defining :

Relational Model History. COSC 304 Introduction to Database Systems. Relational Model and Algebra. Relational Model Definitions.

SQL Interview Questions

Total No. of Questions :09] [Total No. of Pages : 02. II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC Second Semester CSE/IT DBMS

Relational Model History. COSC 416 NoSQL Databases. Relational Model (Review) Relation Example. Relational Model Definitions. Relational Integrity

COSC344 Database Theory and Applications. Lecture 5 SQL - Data Definition Language. COSC344 Lecture 5 1

Relational Database Model. III. Introduction to the Relational Database Model. Relational Database Model. Relational Terminology.

CS121 MIDTERM REVIEW. CS121: Relational Databases Fall 2017 Lecture 13


A Sample Solution to the Midterm Test

4. Entity Relationship Model

Chapter 7. Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel

Running Example Tables name location

DATABASE MANAGEMENT SYSTEMS


CS403- Database Management Systems Solved Objective Midterm Papers For Preparation of Midterm Exam

Relational Algebra. Note: Slides are posted on the class website, protected by a password written on the board

COGS 121 HCI Programming Studio. Week 03 - Tech Lecture

Transcription:

Introduction DBMS 1957 A database can be defined as a set of Master files, organized & administered in a flexible way, so that the files in the database can be easily adapted to new unforeseen tasks! Relation Vs. Relationship File Character Company Database Relation Relation Relation A B C ----------- ----- ----------- ----- ----------- ----- Set of records ----------- ----- ----------- ----- ----------- ----- Relational Database Hierarchical Database Network Database Transaction File Master file ---------------------- -------------------- ---------------------- -------------------- ---------------------- -------------------- ---------------------- -------------------- There are 3 forms of database descriptions the ANSI/SPARK, 1975 and so on 1. Conceptual Schema (Conceptual View) Is a machine-and-software independent description of the total database. It is also referred to as a logical database. 2. Internal Schema (Internal View) Is a description of the physical database! It is close to the machine level & describes such things as file organization and access paths. 3. External Schema (User View) Is a user oriented description of part of the database. Correspond to a way in which a program need to view the database. LS Notes portions Big Mike Page 1

Since there are many purposes to which the data in a database maybe put, there will be many different external schema corresponding to different programs interpreting the database in particular ways. A DBMS is software used to read/write, maintain and provide among other things, security, and integrity for the data. Facilities Standard methods used by DBMSs to implement relationships Data dictionary, docs, etc Data independence (ie. the possibility of changing the physical database without having to make alternative to old programs that operate on the database.) File CODE NAME ADDRESS TELEPHONE SALARY 12345 XXXXXX XXXXXX XXXXXXXX YYYYYY Database languages Report generators/screen generators Recovery facilities Concurrency facilities File protection Entities/Attributes An entity is an item or concept in the real world about which we want to report data. The data associated with an Entity is called Attribute (field names in a record). An entity type is a classification of all the entities describing the same type of item or concept from the real world. A description of an Entity type in the conceptual database includes: An unique name for each entity type. A field containing a unique identifier for each individual Entity called a key A description of all attributes or fields of the entity type An indication of the number of occurrences of an entity type. The Database holds known as the cardinal number of the entity type. Define: A conceptual schema maybe thought of as a model of the enterprise using it. Some attributes which maybe in an entity o Mandatory or optional depending on whether fields should or should not always have a value. o Single valued or multi-valued. Multi-valued-stored in repeating fields aggregate or simple. o Whether an attribute is formed from a combination of other attributes or NOT. Relationships relationship is used to describe a connection between. Relation: is used to designate a logical table describing a set of similar entities. 09/19/00 Project: Flight Reservation/Scheduling Agent Airport Airline Companies Scheduling LS Notes portions Big Mike Page 2

Conceptual Level. File Relational Table Data Model A data model is a method used to describe the Entity types & Relationships of Conceptual data. ❶ E-R Entity / Relationship ❷ Backman Diagrams ❸ Relational Model (see the paradigm) ❹ User View Diagram. ❶ The E-R is used for top-down analysis of views of a system. 1971 Frank Chen 1976 E r Example: 1. E-R E n m 1 r 1 E 2 Backman 2. E 1 m 1 r 1 E 2 E 1 m 3. Tree r E m n 4. Graph/Network r E 1 1 1 r E 2 5. one-to-one E 1 E 2 6. Order 3 E 3 LS Notes portions Big Mike Page 3

The design of the conceptual schema User Requirement Real World The design of E-R of the DB Conceptual schema independent of concrete DBMs Stage 1 Normalization Stage2 Adjusted diagram & normalized model Logical optimization & adjustment of a concrete DB Stage 3 Data dictionary Database description LS Notes portions Big Mike Page 4

Normalization Normal form Formulate constraints on the structures of table, in the database to obtain a logical database that is like the external world. By applying different sets of constrains results in differently structured tables and normal forms. Terminology o Relational table file o Tuple record o Attribute a field o Domain field s value area Example: A sales person file (Before normalization) Salesperson City Sales Product Amount PNR A PNR A PNR A PNR A Number Code Number (SNR) (SC) (PNR) (A) S1 Athens 10 - - - - - - - - - - Toronto 30 P1 200 P3 100 - - - - - - S4 Kingston 20 P5 200 P8 100 - - - - - - Toronto 30 P1 50 P3 500 P4 800 P5 500 P8 1000 1NF (First Normal Form FNF) Each tuple must contains an unique identifier. Tuples have only atomic values in their A s (i.e. repeating groups are excluded) The file after normalization 1NF SNR City SC PNR A S1 Athens 10 - - Toronto 30 P1 200 Toronto 30 P2 100 S4 Kingston 20 P5 200 S4 Kingston 20 P8 100 Toronto 30 P1 50 Toronto 30 P3 500 Toronto 30 P4 800 Toronto 30 P5 500 Toronto 30 P8 1000 Functional Dependency Assume the X & Y are fields in the same record (SC, City). Field Y is said to be functionally dependent on field X if and only if that for all pairs in the file that if they have the same value in field X, then they also have in Y. Field Y is said to be fully functional dependent on X if Y is functional dependent on X, and NOT functional dependent on any subset of X s possible subfield. A field on which another field is fully functional dependent is called the determinant for that field. Field is said to be transitively functional dependent on X if there is some other field Z such that X determines the value of Z & Z determines the value of Y. LS Notes portions Big Mike Page 5

2NF (Second Normal Form SNF) A relation is in 2NF if it is in 1NF and if all non-identifier fields are fully functional dependent on the records identifier Example given with SC & City or with SNR & Name SNF S1 S4 Name CB BB RR PO 3NF (Third Normal Form) The relation is in 3NF if it is in 2NF and the record s non-identifier fields are NOT transitively dependent on the record s id field. The non-key fields must contain data that is attached to the id field, to the entire id and to nothing but the id field. For example, see 2NF. 3.5NF (Boyce/Codd Normal Form) Make use of determinant, has to be in 3NF. Any determinant A can be used as the tuples id field So: The 3NF contains a constraint which the B/C does not. A relation is in the B/C normal form may well contain several different unique id fields, which the math deviation of the 3NF does not allow! the 3.5NF is more practical than the 3NF. 4NF Multi-valued dependency (between attribute) It holds between 2 A s in a table if the second A can assume different value for given value in the first A. If a relation contains two multi-value dependencies, this may depend on or be independent of each other respectively. A relationship of order n (please see order 3 in the E-R diagram example). Will usually include many multi-valued dependence (MD). If these are independent of each other, the relationship of order n can be reduced to 1:n relationships and n:m relationships. Example: Relationship of order 3 A database contains a file for: vehicle dealers, vehicle manufacturers, vehicle types. Dealer Manufacturer Dealer Type C.B. Ford C.B. Car C.B. GM C.B. Bus O.O. Ford O.O. Car O.O. GM O.O. Truck LS Notes portions Big Mike Page 6

4NF Multi-valued Dependency Between 2 attributes if the second attribute can assume different values for a given value is the first attribute. MD either dependent on each other or independent on each other. Order n relationship. So we can say now that a relation (file) satisfies the 4 th NF if it satisfies the 3NF(3.5NF) and the file contains second MD (dependent on each other). If a file does not satisfy the 4NF because it may contain independent MD cannot split the file up!! Problems with maintenance and updating! 5NF Theoretical value. A relation R is in 5NF if and only if every join dependency (projection join NF). Possible to reduce a R containing two MDs are dependent on each other Example: Assume that a db Vehicle Dealers Manufacturers Types D R M T Note: N:M relation between dealer and manufacturers. N:M relation between dealer and types a) Show that CB & MM each sell Ford & GM product Dealer CB CB MM MM Manufacturer Ford GM Ford GM b) Show that CB sells cars & buses and MM sells cars & trucks. Dealer CB CB MM MM Type Car Bus Car Truck a) MD between dealer and manufacturer. b) MD between dealer and type. The 2 files can be implemented as a simple table with three columns. the MDs are in the same table. LS Notes portions Big Mike Page 7

The 2 MDs are independent of each other if the contents of the first row mean that CB sell only Ford cars. if the MDs are independent, it is possible that CB doesn t sell Ford cars, only Ford buses. if the MD are dependent, CB sells Ford s cars. 4NF 5NF Dealer Manufacturer Type C.B. Ford Car C.B. Ford Bus C.B. GM Car C.B. GM Bus M.M. Ford Car M.M. Ford Bus M.M. GM Car M.M. GM Bus Dealer Manufacturer Dealer Type C.B. Ford C.B. Car C.B. GM C.B. Bus M.M. Ford M.M. Truck Manufacture Ford Ford GM GM Type Car Bus Car Truck Physical Database Structures Args Sequential Random Index List Keys Super Key: An attribute (or combination of attribute) that uniquely identifies each entity Candidate Key: A minimal super key does not contain a subset of attributes that itself is a super key Primary Key: A candidate key selected to uniquely identify all other attribute values in any given row, cannot be null values (chosen types DB design) Secondary Key: An attribute (combination of attributs) used strictly for data retrieval purposes Foreign Key: An attribute (combination of attributes) in a table whose value must either match the primary key in another table or be null Entity Sets Weak entity set: An entity set does not have sufficient attributes to form a primary key. Strong entity set: Has a primary key. Integrity Rules Entity integrity: No null value in primary key guarantee that each entity will have a unique identity Referential Integrity: Foreign key should match another primary key or be null. LS Notes portions Big Mike Page 8

Relational Model 1. Selection 2. Projection 3. Union 4. Intersection 5. Join 6. Dimension 7. Difference Consider 3 tables S, P & SP S SNR SC City S1 10 Athens 30 Toronto S4 20 Kingston 30 Toronto P PNR PName SIZE Price P1 Shirt 5 50 P3 Trousers 6 40 P4 Socks 6 3 P5 Blouse 8 20 P8 Blouse 5 25 SP SNR PNR QTY P1 200 P3 100 S4 P5 200 S4 P8 100 P1 50 P3 500 P4 500 P5 500 P8 1000 Relational Language (RL) Find temp = algebraic expression Output algebraic expression (finds in the file and then put it in a temp file) (find it and output to screen) (Combination of the 2 commands, Find something in file and output to screen and put into temp file) Output temp = algebraic expression 1. Projection Query: Give all cities in S RL: find T 1 = S(City) T 1 City Athens Toronto Kingston 2. Selection (where) Query: What QTY of products P1 was sold by salesperson RL: find T 2 = SP where SNR = and PNR = P1 T 2 T2= P1 50 LS Notes portions Big Mike Page 9

3. Union Query: which of the salesperson (SNE) are either resident of Toronto or have sold product P5 RL: find T 3 = S(SNR) where City = Toronto find T 4 = SP(SNR) where PNR = P5 T 3 Union T 4 T 3 : T 4 : S4 S4 4. Intersection Query: which SNR are both resident of Toronto and have sold product P5 RL: find T 3 = S(SNR) where city = Toronto find T 4 = SP(SNR) where PNR = P5 T 3 intersect T 4 5. Difference (minus) Query: output SNR for the salesperson(s) who are resident in Toronto and who have not sold product P5 Note: The different of two tables is the set of entities that are member of the first of the tables but NOT in the other. RL: find T 3 = S(SNR) where city = Toronto find T 4 = SP(SNR) where PNR = P5 output T 3 minus T 4 6. Join Note: Concatenation (?) of 2 rows which have a common field. Query: Output a list of SNRs, resident of Toronto stating SNR, PNR & QTY. RL: find T 6 =S(SNR) where city= Toronto output join T 6 with SP where T 6 (SNR)=SP(SNR) Output SNR SNR PNR QTY P1 200 P3 100 P1 50 P3 300 P4 500 P5 500 P8 100 LS Notes portions Big Mike Page 10

7. Product Note: Cartesian product of 2 tables Query: Produce a file containing all combinational possibilities of SNRs and PNRs RL: find T 7 =MULT S(SNR) with P(PNR) 8. Division SNR S1 S1 S1 S1 S1 S4 S4 S4 S4 S4 PNR P1 P3 P4 P5 P8 P1 P3 P4 P5 P8 P1 P3 P4 P5 P8 P1 P3 P4 P5 P8 Query: Find the SNRs who have sold all products Note: 1) Table SP(SNR, PNR) can be divided by table P(PNR) as column PNR is shared by both tables. 2) Divider divisor = quotient RL: find quotent = divide SP(SNR, PNR) by (PNR) Divider Divisor Remainder Quotient SP(SNR, PNR) PNR SNR PNR SNR SNR PNR P1 P1 P1 P3 P3 P3 P4 S4 P5 S4 P5 P5 S4 P8 S4 P8 P8 P1 P3 P4 P5 P8 The R.L is a complete Relational Language. LS Notes portions Big Mike Page 11

DDL Data Definition/Description Language Create Table, Alter Table, Drop Table Create View, Drop View Create Index, Drop Index Create table table-name (column definition [, column definition, ] [primary key definition]. [alternate key definition] [foreign key definition[ [other parameters]); Examples: Create table S (SNR char(5) NOT NULL, sname char(20), s-c smallint, city char(5), primary key (SNR)); Create table P (PNR char (5) NOT NULL, pname char(20), size smallint, price integer, primary key (PNR)); Create table SP (SNR char(5) NOT NULL, PNR char(5) NOT NULL, Qty integer, primary key (SNR), primary key (PNR), foreign key SFK(SNR) references S, foreign key PFK(PNR) references P); Copy of a table: Create table tablename LIKE tablename Eg. create table SCOPTY LIKE S Alter Table Alter table tablename ADD column-name datatype [NOT NULL], etc Example: Alter table S ADD address char(20); LS Notes portions Big Mike Page 12

DROP table Drop table tablename; Eg. Drop table S; DML Data Manipulation Language SELECT, INSERT, DELETE Example: 1. Query: output sorted list of cities (Selects all city no duplicates from table S, in ascending order) SELECT DISTINICT city FROM S ORDER BY city; (Selects all city no duplicates from table S, in descending order) SELECT DISTINICT city FROM S ORDER BY city DESC; (Selects all city from table S) SELECT city FROM S; Athens Toronto Kingston Toronto Athens Kingston Toronto Toronto Kingston Athens 2. Query: display a list of SNR salesperson reside in Toronto ( * - all fields/columns ) SELECT * from S where city= Toronto ; SNR sname SC city CB 30 Toronto BB 30 Toronto SELECT * from S where city= Toronto ORDER BY sname DESC; 3. Query: Which SNR(s) are either resident of Toronto or have sold product P5. SELECT SNR FROM S WHERE city= Toronto UNION SELECT SNR FROM SP WHERE PNR= P5 ; SNR S4 (note there are more than one way to do this) LS Notes portions Big Mike Page 13

4. Query: Display a list of sname, SNRs, PNRs and Qty sold. SELECT sname, S.SNR, PNR, QTY FROM S, SP WHERE S.SNR=SP.SNR; sname SNR PNR QTY CB P1 200 CB P3 100 BB S4 P5 200 BB S4 P8 100 OO P1 50 OO P3 300 OO P4 500 OO P5 500 OO P8 100 5. Complex (from Relational Calculus) Query: display a list of PNRs that where sold in a size that is 3 size larger and which has the same pname. X.PNR P5 (there is a space between P x) SELECT x.pnr FROM P x, P y where x.pname = y.pname AND x.size=ysize+3; (another way to write this, but may not work for all Databases) SELECT x.pnr FROM P AS x, P AS y where x.pname = y.pname AND x.size=ysize+3; 6. Query: display a list of all pairs of SNRs with different scodes. SELECT s.snr, y.snr FROM S x, S y WHERE (x.sc < y.sc); X.SNR y.snr S1 S1 S4 S1 S4 S4 7. Query: Display PNR of blouses with price range 20 to 60. SELECT PNR FROM P WHERE pname= blouse AND price BETWEEN 20 AND 60; (Alternatively) SELECT PNR FROM P WHERE pname= blouse AND (price >=20 AND price <= 60); PNR P5 P8 LS Notes portions Big Mike Page 14

8. Query: Display all (everything: *) with SC (5, 8,10 or 15) and city not equal Toronto & Athens. SELECT * FROM S WHERE SC IN (5, 8, 10, 15) AND city NOT IN ( Toronto, Athens ); (Alternatively) SELECT * FROM S WHERE (SC= 5 OR SC= 8 OR SC= 10 OR SC= 15 ) AND (city <> Toronto AND city <> Athens ); NO RECORDS LS s important note: As I know, there is no operator EXIST. But there is an operator EXISTS in SQL So if you try creating a query or view from Access, SQL Server, Oracle, etc EXIST may not work. If so, change the below #9 and #10 to EXISTS and the view/query should work. 9. Exist Operator Note: The logical expression with the operator exist has value TRUE if the arguments of exist is not an empty table and the where is a complex expression. Query: Display PNR(s) & pname(s) (PNR, pname) of products sold. SELECT PNR, pname FROM P WHERE EXIST SELECT * FROM SP WHERE SP.PNR=P.PNR; PNR P1 P3 P4 P5 P8 Pname Shirt Trousers Socks Blouse Blouse 10. Query: Display the set of SNRs who have sold same or all products SELECT * FROM S WHERE NOT EXIST ( SELECT * FROM P WHERE NOT EXIST ( SELECT * FROM SP WHERE SP.PNR=P.PNR AND SP.SNR=S.SNR)); SNR SC City 30 Toronto LS Notes portions Big Mike Page 15