Introduction to Linux

Download Report

Transcript Introduction to Linux

Phil Brewster
[email protected]

One of the first steps – identify the proper data types

Decide how data (in columns) should be stored and used
 character, numeric, date-time, or other data type (binary, enum, etc.)

Data types determine how you will be able to use data in
queries and in application program coding (edit routines)




Do you need to perform calculations on the data?
Do you need the data to be ‘constant’ or ‘variable’?
Must the values be unique (often required for primary keys)?
Can there be ‘missing values’ (allow NULL)?
▪ ‘Missing’ -- NOT to be confused with zeroes or spaces or initial default values!
Set of rules against which to test a
relational system (E.F. Codd, 1970)
1. All data represented as tables
2. Logical representation independent
from physical storage
3. Single high-level language to build
tables, insert/update/delete data
4. Support relational operations (select,
project, join) and set operations
(union, intersect, difference, division)
5. Support views (alternate ways of
looking at tables)
6. Differentiate between unknown (null)
and zero
7. Mechanisms to support security and
authorization
8. Protect data integrity through
transactions and recovery procedures
[summary slides for Codd’s Rules: courtesy Dr K. Sward]
 SQL lets you interact with a relational database system
 ISO standards – most commands are the same
 Yet, also different ‘dialects’ for major database systems
▪ Oracle, Microsoft SQL Server, DB2, MySQL
 Need to compare syntax rules across systems you use
 Administrative commands to create logical databases,
tables, grant user permissions
 Application/user commands to load data, insert and
update rows, select and order data

One-to-many data relationships: primary  foreign key

Many-to-many data relationships: junction tables

First Normal Form (1NF)
 Eliminate repeating groups in individual tables
 Create a separate table for each set of related data
 Identify each set of related data with a primary key

Second Normal Form (2NF)
 Create separate tables for sets of values that apply to multiple records
 Relate these tables with a foreign key

Third Normal Form (3NF) – frequently this is ‘overkill’…
 Eliminate fields that do not depend on the key
http://support.microsoft.com/kb/283878

Can be shared by many applications, many
users (clients) at once



Database environment
Database security
Database administration

For application programs (APIs) to access
server, need database connectors (drivers)
 Remember JDBC for Java? – needs custom drivers
 ODBC for almost everything else


The Community Edition is free (no tech
support unless you buy the licensed version)
The product is stable (since version 4)
 Scalable, good performance

An alternative to other databases (Microsoft,
Oracle) but without as many utilities
 Oracle PL/SQL
▪ a powerful way to integrate database logic with
application logic (adds procedural programming
constructs like if-else to ‘pure’ SQL)
 Microsoft SQL Server
▪ proprietary ‘hooks’ integrating with MS applications
Pick the installer for your favorite OS



MySQL Community Server:
http://dev.mysql.com/downloads/mysql/
MySQL Workbench (GUI tools):
http://dev.mysql.com/downloads/workbench/
5.2.html
MySQL database connectors (future):
http://dev.mysql.com/downloads/connector/



Initial access to the MySQL server as root
Create a standard user id + password
Grant permissions
 then log back in as user and do not use root!




Create a database
Create tables in the database
Load data into the tables (student.txt,
course.txt)
Run queries to view data, sort data, etc.

Add primary keys to the tables (student2.txt,
course2.txt)



Create a junction table
Use foreign key relationships to link tables
Insert rows

Run more complex queries using table joins

Use MySQL Workbench to complete these
tasks with GUI tools (if time allows)