Download Lab Session-II CS121 Summer-I 1999

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Microsoft Access wikipedia , lookup

SQL wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Oracle Database wikipedia , lookup

IMDb wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Ingres (database) wikipedia , lookup

Concurrency control wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Database wikipedia , lookup

Versant Object Database wikipedia , lookup

ContactPoint wikipedia , lookup

Clusterpoint wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Transcript
Applications of Computers
Lectures 1 and 2
 Let us revise “indexing into the arrays”
 Later, we will look at databases and their
applications
 Databases have wide-spread applications in
all walks of life
 We will introduce network model and
relational model of database
1
Indexing into arrays
 Let us assume an array declared as:
 int ages_of_kids[4];
 ages_of_kids[0] = 7;
 ages_of_kids[1] = 6;
 ages_of_kids[2] = 4;
 ages_of_kids[3] = 2;
2
Array Contents
Values
stored
in the
array
Index into
the
locations
of the
array
7
6
4
2
0
1
2
3
3
Array Indexing
 Tell me at location 0, what is the index and
what is the value??
 In C++,
 int index;
 index=0;
 cout<<age_of_kids[index];
 What is the result?
 Write a loop to print all values in the array
4
Databases
 Databases are implemented in many forms on all
possible platforms
 Think of flight reservation, credit card accounts,
registration for a semester, payrolls, IRS records,
SS records,……the list is endless
 Everyday, we interact with at least one database in
our day to day activities
 Database contains records that contain information
5
Database Concepts
 A database is usually a large collection of
information
 A DBMS (Database Management System)
is implemented to retrieve information from
a database in an effective and efficient way
 Database itself is implemented in files that
contain records. Each record contains data
fields having item-specific information
6
Database Concepts: An example
Adapted for academic use from “Exploring The Digital Domain” by Abernethy Allen, ITP 1999
7
Use of Indices in file
management
 If you store information in the way shown,
you may want to select a specific person’s
record
 In order to select the appropriate record,
you have to spell out the last name of a
person
 This last name serves as a search index as
all records matching this last name can be
retrieved (http://www.switchboard.com)
8
Use of Indices in File
Management
 The database files searched this way are
called “Indexed files”
 Indexed files are implemented usually with
binary search tree (BST)
 The BST nodes contain the data values of
the indexed fields e.g. last names
 Additionally, a link is provided to the actual
file
9
Trees
 A binary tree is a data structure that is very
useful in search applications
 Trees are everywhere
 A natural tree has a root from which
everything starts
 Think about your family tree
 Look at an organization chart for a company
10
Trees
 Think about the way directories are
organized in your computer
 There is a root directory C:\
 Then there are sub-directories
 Sub-directories can also have further subdirectories
 This is the directory tree
11
Binary Tree
 A binary tree is a tree in which each node
can have just two children
 Binary tree is easy to sketch
 Start with a root node (root is at the top as
opposed to natural trees)
 One child is shown on left and the other one
is shown on right
 The children can also have maximum two
12
children each
13
Binary Search Tree
 A binary search tree is a specialized type of
tree
 In BST, a node can have only two children
(right and left)
 The value of the left child is LESS than the
value of ROOT
 The value of RIGHT child is MORE than
the value of ROOT
14
A Plain Binary Tree
15
A Binary Search Tree
16
How to Have a Balanced BST
 The selection of value for root node is very
important
 For example, look at the list of numbers
presented here and make a BST from it
 [1,2,3,4,5,6,7] What is the depth?
 Now look at the list of numbers presented
here and make a BST from it
 [4,2,1,3,6,5,7] What is the depth?
17
Use of Indices in File
Management
 Indexed files are implemented usually with
our friendly binary search tree (BST)
 The BST nodes contain the data values of
the indexed fields e.g. last names
 Additionally, a link is provided to the actual
file
 A BST should be balanced in order to cut
down the search overhead
18
BST and Actual File
Adapted for academic use from “Exploring The Digital Domain” by Abernethy Allen, ITP 1999
19
Network Database Model
 The need for a convenient query language and
interaction developed for applications beyond
payrolls and inventory databases
 The programmers worked to link records in
separate files together
 This model is called “network database model”
because it uses a network of links between files
 Programmers must be aware of physical
organization of files and links
20
Network Database Model
Adapted for academic use from “Exploring The Digital Domain” by Abernethy Allen, ITP 1999
21
Relational Database Model
 Relational database model was introduced
in late 70’s
 This model gives a more conceptual view of
the database
 It establishes a logical relationship between
records using one field as a logical link
 The information needed to employ
relational database is intuitive and does not
22
include physical disk addresses
Relational Database Model
Adapted for academic use from “Exploring The Digital Domain” by Abernethy Allen, ITP 1999
23
Relational Database Model
Adapted for academic use from “Exploring The Digital Domain” by Abernethy Allen, ITP 1999
24
Comparing Both Models
 Network model is much faster than the
relational model because the links are
physical disk addresses
 Relational model is more flexible so it can
handle different types of queries
 RDBMS performs search after search to
retrieve information from different files
 The tradeoff is flexibility vs speed
25
Airline Reservation System
 When we reserve a seat in a flight, the agent
interacts with the database
 The types of queries are limited to a few
options (class, fare, availability, restrictions)
 There are thousands of queries in progress
at any given time
 We want the database to be fast and
efficient
26
Player Performance Statistics
 During televised games, comments are
made on certain players
 For example, Mark has a batting average of
0.407 against the Braves, etc.
 This information is obtained on the fly from
a database of player performance
 We want this database to be flexible as
many different types of queries are allowed
27
Example of a Central Database
 AFIS is FBI’s Automated Fingerprint
Identification System
 It provides a national database of digitized
fingerprints
 California requires thumb prints on driver
licenses
 International travelers may be provided with
smart cards and checked with hand
28
identification
Creating Your Own Database
 Large databases cannot be implemented on
personal computers
 For PC’s, the relational database model is
more appropriate as the number of data
items is small and speed is not a primary
concern
 MS-Access will be used as an example to
illustrate the database management on PC’s
29
Defining the Database Structure
 Initial work involves deciding about the
contents of individual fields and overall
organization
 Each field can contain only one type of data
 Related data files are called tables
 A table is an object that stores data in
records (rows) and fields (columns). The
data is, for example, about a customer or an
30
employee
A Table in MS-Access
 In table Design view, you can create an
entire table from scratch, or add, delete, or
customize an existing table's fields.
 In table Datasheet view, you can add, edit,
or view the data in a table. You can also
check the spelling and print your table's
data, filter or sort records, change the
datasheet's appearance, or change the table's
structure by adding or deleting columns. 31
Databases in MS-Access
 In MS-Access, you can create a new
database with simple graphical interface
 As soon as you name your database, you are
presented with a window having six tabs
 We define four basic tabs here
 Data will be kept in tables. You have to
create a new table and define its fields
(columns). You should use the design view
32
to create the table
Databases in MS-Access
 In order to facilitate entry of data, MS-
Access provides forms. Forms can be
designed through the Forms tab
 Queries and Reports can be created to
interact with the database and extract data
that meets certain search requirements or it
has been sorted. Reports generate nice
formatted display of the output data
33
Forming Queries
 Queries are requests for specific
information that meet a certain criteria
 Queries are written in a query language
 Normally, queries act as the only user
interface in a database
 Store cashier, bank teller clerk, payroll data
entry operators….all use query language to
interact with the databases
34
Forming Queries
 SQL (“sequel”) stands for structured query
language and it is a de-facto standard
 SQL queries are simple and you do not need
to know programming to form these queries
 For example, to show all items whose value
exceeds $200 in the inventory database:
 SELECT Item-Name FROM Inventory
WHERE Value>$200
35
Natural Language Queries
 Work is in progress to have a natural
language query system
 For example, the above question could be
re-phrased as “Find the item names from
inventory whose value exceeds $200”
 One of the search engines on the web,
AltaVista, supports natural language queries
 QBE(Query-by-example) is also popular and MS-
Access uses it by having criteria field in query
design
36
The Web Interface
 Web and database technologies are merging
providing exciting opportunities
 (Think about the e-commerce, it has
become possible for you to book a flight,
browse through items and buy things
online)
 “Web database front-ends” provide forms using
which users can make selections as per their
criteria and interact with the database
37
Web Interface
 Web interface supports http (hyper text
transfer protocol) that runs over TCP/IP
 This protocol supports transfer of text,
graphics and applets, thus opening a lot of
possibilities
 Industry is interested in small gadgets
running http protocol that can exchange
information in a secure way
38
E-Commerce
 Almost all major companies have their
homes on the web, mainly for advertising
 Companies were reluctant towards ecommerce but now it is picking up
 The most revolutionary e-commerce is
between business and customer
 Business-business e-commerce is already
developed
39
E-Commerce Requirements
 E-commerce between customer and
business requires several functions
 For example, auction sites should have the
capability to track bids by various people
 Also, multi-vendor selling sites should
support tracking of multiple companies
 Transactions between customers and the ecommerce site should be safe and secure
40
The Credit Card Concerns
 Almost all e-commerce sites offer credit
card support
 A customer who wants to buy something
pays with credit card
 The credit card information is transmitted
through the public network and it can be
tapped by someone in the middle
41
Encryption and Data Security
 For successful e-commerce, we must ensure
that the sensitive data has been encrypted
and secured
 Encryption transforms the data using a
“key” into a value that is meaningless in its
normal form
 This encrypted value can only be decrypted
by authorized agency or person
42
Securing the Connection
 For protecting the credit card info, it is
transmitted under SSL (secure sockets
layer)
 It means the card info is encrypted and it is
very difficult to break the code by an
intruder
 Surprisingly, the misuse of the card info by
employees is a more serious concern
43
Alternate Payment Methods
 DIGICASH is an alternate payment method
that does not use credit cards for online
buying
 Customer opens an account and an
electronic wallet is created at customer’s
machine
 Customer is able to create digital coins that
are certified by the bank
44
Digicash is now eCash
 http://www.ecashtechnologies.com/
 The new p2p technology is developed by
the eCash technologies
 Refer to the link below:
 http://www.ecashtechnologies.com/Press/Pr
ess/Release030800.asp
45
Alternate Payment Methods
 The bank attaches a digital signature to each
digital coin
 Thus, the customer can send digital cash to
the vendor and buy anonymously
 VIRTUAL PIN allows credit card charges
without transmitting card number
 The bank holds customer’s credit card
information and issue a virtual PIN to
46
customer
Alternate Payment Methods
 Customer specifies virtual PIN to a
merchant when charging something to
credit card
 Merchant sends this PIN to bank for
verification
 Bank requests customer authorization via
email and on confirmation, charges the
amount of sale to customer’s credit card
47