• No results found

Using SAS as a Relational Database

N/A
N/A
Protected

Academic year: 2021

Share "Using SAS as a Relational Database"

Copied!
15
0
0

Loading.... (view fulltext now)

Full text

(1)

1

www.OASUS.ca

“Come out of the desert of ignorance to the OASUS of knowledge”

Using SAS as a Using SAS as a

Relational Database Relational Database

Yves DeGuire

Yves DeGuire

Statistics Canada

Statistics Canada

(2)

2

www.OASUS.ca

Introduction Introduction

• Overview of relational database concepts

• Why using SAS as a relational database?

• SAS relational database checklist

• SAS products and configurations

(3)

3

www.OASUS.ca

What Do We Mean by What Do We Mean by Relational Databases?

Relational Databases?

• A relational database is:

– A set of related tables that is created and managed by a database management system (DBMS)

– Tables are linked using common data fields

– Integrity rules are part of the database and are enforced by the DBMS

• A relational DBMS (RDBMS) should provide the following facilities:

– Query interface

– Transactions processing – Concurrent access – Security

Link tables using Primary/Foreign Key relationship Integrity rules to ensure the integrity of your data by:

-restricting the data values

-keeping the relational link valid at all times

(4)

4

www.OASUS.ca

Why using SAS as a Why using SAS as a Relational Database?

Relational Database?

• Reduce technology diversity

• Reduce software cost

• Efficiency/Performance for Statistical processing

• Because it works!

(5)

5

www.OASUS.ca

SAS Relational Database SAS Relational Database

Checklist (1) Checklist (1)

Characteristic

¾ Database Instance

¾ Table

¾ View

¾ Row

¾ Column

¾ Constraints

¾ Indexes

SAS Implementation 9 SAS library

9 SAS data file 9 SAS data view 9 Observation 9 Variable

9 General and referential 9 Simple and composite

SAS library: collection of one or more SAS files. It is associated with an engine.

SAS Data File: a SAS dataset that stores data.

SAS Data View: a SAS dataset that dynamically retrieve data when used. Only contains descriptor information.

Constraints:

Integrity constraints are a set of data validation rules that you can specify in order to restrict the data values that can be stored for a variable in a SAS data file. Integrity constraints help you preserve the validity and consistency of your data.

•General Constraints:

•Check: limits the data values of variables to a specific set, range, or list of values

•Not null: requires that a variable contain a data value

•Unique:requires that the specified variable(s) contain unique data values.

•Primary Key:requires that the specified variable(s) contain unique data values and not null.

•Referential Integrity: The foreign key constraint links the data values of one or more variables in the foreign key data file to corresponding variables and values in the primary key data file. Data values in the foreign key data file must have a matching value in the primary key data file. When data is updated or deleted in the primary key data file, the modifications are controlled by a referential action that is defined as part of the foreign key constraint.

Index: optional file that you can create for a SAS data file to provide direct access to specific observations. It allows improved performance and direct access to the data.

(6)

6

www.OASUS.ca

SAS Relational Database SAS Relational Database

Checklist (2) Checklist (2)

Characteristic

¾ Query Language

¾ Concurrent Access

¾ Lock

¾ Transaction processing

¾ Transaction log

¾ Data Dictionary

SAS Implementation 9 Full support for SQL 9 SAS data server

9 Dataset and row-level 9 Modify and Update

Proc SQL DML 9 SAS Audit Trail 9 SASHelp Library

PROC SQL: support ANSI standard

SAS data server: implemented using SAS/SHARE

Lock can be implicit or explicit (i.e. programmed explicitely)

Audit Trail: a log of all changes to a SAS data file. Even failed operations are logged.

SASHelp library: contains views to dictionary (read only) tables.

(7)

7

www.OASUS.ca

SAS Relational Database SAS Relational Database

Checklist (3) Checklist (3)

Characteristic

¾ Procedural

¾ Security

¾ Connectivity

SAS Implementation 9 Base SAS, SCL, etc 9 Datasets passwords 9 Authentication

9 SAS Interface file 9 SAS Interface view

Security can piggy-back on host security or use password protection Interface file used in conjunction with a SAS/ACCESS engine

(8)

8

www.OASUS.ca

Key SAS Products Key SAS Products

• Base SAS

– Libraries, datasets, views, indexes, integrity Constraints – Proc SQL

– SAS ODBC Driver

• SAS/SHARE and SAS/SHARE*NET

– Proc Server and Proc Operate – Lock management

– Authentication

• SAS/ACCESS

– Access to data from various sources using native data engine or ODBC

With SHARE*NET a SAS data server can accepts requests coming from a non-SAS client

(9)

9

www.OASUS.ca

Access to data in SAS Access to data in SAS

(10)

10

www.OASUS.ca

Accessing a SAS Data Accessing a SAS Data

Server

Server

(11)

11

www.OASUS.ca

Inside a SAS Data Server Inside a SAS Data Server

A SAS data server is a SAS session running proc server for which libraries has been allocated. Those libraries are used to satify data requests coming from various clients.

(12)

12

www.OASUS.ca

Accessing ODBC Data with Accessing ODBC Data with

SAS SAS

(13)

13

www.OASUS.ca

Accessing SAS Data with Accessing SAS Data with

ODBC ODBC

(14)

14

www.OASUS.ca

What’s new in V9? What’s new in V9?

• Indexing can use thread-enabled sort

• A variable may be part of both a Primary Key and a Foreign key

• Universal Unique Identifier

• Proc SQL is multi-threaded

• SAS/ACCESS supports threaded reads

• SAS Metadata Architecture

• Numerous enhancements to SAS/SHARE (better security, threading, etc…)

A Universal Unique Identifier (UUID) is a 128-bit identifier that consists of date and time information, and the IEEE node address of a host

(15)

15

www.OASUS.ca

Conclusion Conclusion

• SAS fully supports the relational model

• SAS has numerous facilities to retrieve and update data

• Many configurations are possible

Î And you can use the SAS Intelligent Architecture on top of your SAS

database!

References

Related documents

(2015) found that Christian athletes often organically integrate their faith within their sport experience and have expressed an interest in having sport psychology

Some interesting findings when MLD students solve fractions problem are: (1) they know the procedure of common denominator approach in fraction addition operation, however,

For desktop applications such as SAS Information Map Studio, SAS Enterprise Guide, SAS Data Integration Studio, SAS OLAP Cube Studio, and SAS Management Console, you can use

Data integrity problems such as missing information, duplicate values, and invalid data values can affect user confidence in a database environment. The objective is to

This paper studies the problem of Stackelberg game-theoretic LPI performance optimization in multistatic radar system, whose purpose is to minimize the radiated power of each radar

We analyze the error of approximating Gibbs states of local quantum spin Hamiltonians on lattices with Projected Entangled Pair States (PEPS) as a function of the bond dimension

Adapting the currently used IPM system in chickpea using neem during the vegetative phase, followed by an application of Helicoverpa nuclear polyhedrosis virus (HNPV) at flowering

Artinya bahwa apabila jumlah uang beredar, suku bunga dan neraca pembayaran secara bersama-sama naik, maka kurs mata uang di lima negara tersebut pun akan