7/29/2019 Computer Science CE -2013 - Section C
1/27
Databases Management Web Programming
Computer Graphics
7/29/2019 Computer Science CE -2013 - Section C
2/27
A database is a structured collection of data The term database is correctly applied to the
data and their supporting data structures,and not to the database management system(DBMS).
The database data collection with DBMS iscalled a database system.
7/29/2019 Computer Science CE -2013 - Section C
3/27
Well known DBMSs include Oracle
FoxPro IBM DB2
Linter
Microsoft Access
Microsoft SQL Server MySQL
PostgreSQL and SQLite.
7/29/2019 Computer Science CE -2013 - Section C
4/27
Database concept The database concept has evolved since the 1960s
to ease increasing difficulties in designing,building, and maintaining complex informationsystems (typically with many concurrent end-users, and with a large amount of diverse data).
Though the terms database and DBMS definedifferent entities, they are inseparable: adatabase's properties are determined by itssupporting DBMS.
7/29/2019 Computer Science CE -2013 - Section C
5/27
Evolution of database and DBMS technology The introduction of the term database coincided with the
availability of direct-access storage (disks and drums) fromthe mid-1960s onwards
The term represented a contrast with the tape-basedsystems of the past, allowing shared interactive use ratherthan daily batch processing.
In the period since the 1970s database technology haskept pace with the increasing resources becomingavailable from the computing platform: notably the rapidincrease in affordable capacity and speed of disk storage,and of main memory.
This has enabled ever larger databases and higherthroughput to be achieved.
7/29/2019 Computer Science CE -2013 - Section C
6/27
Active database Cloud database
Data warehouse Distributed database Document-oriented database Embedded database
7/29/2019 Computer Science CE -2013 - Section C
7/27
Early data models
Hierarchical model
Network model
Inverted file model
Relational model
Object model
7/29/2019 Computer Science CE -2013 - Section C
8/27
Database languages are dedicatedprogramming languages, tailored and utilizedto define a database (i.e., its specific data types and
the relationships among them),
manipulate its content (e.g., insert new data
occurrences, and update or delete existing ones),and
query it (i.e., request information: compute andretrieve any information based on its data).
7/29/2019 Computer Science CE -2013 - Section C
9/27
The external level defines how each end-user type understands the organization of its
respective relevant data in the database, i.e., the different needed end-user views. A single
database can have any number of views at the external level.
The conceptual level unifies the various external views into a coherent whole, global view.
It provides the common-denominator of all the external views. It comprises all the end-user
needed generic data, i.e., all the data from which any view may be derived/computed. It isprovided in the simplest possible way of such generic data, and comprises the back-bone of
the database. It is out of the scope of the various database end-users, and serves database
application developers and defined by database administrators that build the database.
The internal level (or physical level) is as a matter of fact part of the database
implementation inside a DBMS (see Implementation section below). It is concerned with
cost, performance, scalability and other operational matters. It deals with storage layout of
the conceptual level, provides supporting storage-structures like indexes, to enhance
performance, and occasionally stores data of individual views (materialized views),
computed from generic data, if performance justification exists for such redundancy. It
balances all the external views' performance requirements, possibly conflicting, in attempt
to optimize the overall database usage by all its end-uses according to the database goals
and priorities.
7/29/2019 Computer Science CE -2013 - Section C
10/27
Access control Data security
Database audit
7/29/2019 Computer Science CE -2013 - Section C
11/27
Every database transaction obeys thefollowing rules:
Atomicity Consistency
Isolation
Durability
http://en.wikipedia.org/wiki/Atomicity_(database_systems)http://en.wikipedia.org/wiki/Database_Consistency_(computer_science)http://en.wikipedia.org/wiki/Isolation_(database_systems)http://en.wikipedia.org/wiki/Durability_(computer_science)http://en.wikipedia.org/wiki/Durability_(computer_science)http://en.wikipedia.org/wiki/Isolation_(database_systems)http://en.wikipedia.org/wiki/Database_Consistency_(computer_science)http://en.wikipedia.org/wiki/Atomicity_(database_systems)7/29/2019 Computer Science CE -2013 - Section C
12/27
Programming is the intricate art of telling acomputer what to do.
Programming allows you to make newsoftware and have the computer do newthings.
Web site programming is the same exceptyou write applications or web pages that areused by a web browser.
7/29/2019 Computer Science CE -2013 - Section C
13/27
HTML is written in the form of HTMLelements consisting of tags enclosed in angle
brackets (like ), within the web pagecontent. HTML tags most commonly come in pairs like
and
Unpaired Tags e.g. , ,
,
7/29/2019 Computer Science CE -2013 - Section C
14/27
It is simply a method or protocol (a very oldone) for interfacing external applications withservers
The NCSA describes CGI as follows: A plain HTML document that the Web daemon
retrieves is static, which means it exists in a
constant state: a text file that doesn't change. ACGI program, on the other hand, is executed inreal-time, so that it can output dynamicinformation.
7/29/2019 Computer Science CE -2013 - Section C
15/27
A CGI application can be written in almost anyprogramming language but most commonly Perl is used. Once the program is written it needs to be put in a special folder
where external programs, like your web browser, can access it.
It will carry out its action, like getting information from adatabase, and then return information back to your browser.
CGI is supported on almost any platform, Windows orLinux variants
CGI can be used for managing email, connecting to otherweb sites or servers, processing form information, storinginformation in a database, creating cookies in a webbrowser, and just about anything else.
7/29/2019 Computer Science CE -2013 - Section C
16/27
The following CGI program shows all theenvironment variables passed by the web
server:
7/29/2019 Computer Science CE -2013 - Section C
17/27
Perl borrows features from other programming languagesincluding C, shell scripting (sh), AWK, and sed. The language provides powerful text processing facilities
without the arbitrary data-length limits of many contemporary
Unix tools, facilitating easy manipulation of text files. Perl gained widespread popularity in the late 1990s as a CGI
scripting language, in part due to its parsing abilities. In addition to CGI, Perl is used for
graphics programming
system administration network programming
Finance
bioinformatics and other applications.
7/29/2019 Computer Science CE -2013 - Section C
18/27
In older versions of Perl, one would write the Hello World program as:
print "Hello World!\n";
use5.010; say "Hello World!";
In later versions, which support the say statement, one can also write it as:use 5.010;
say "Hello World!";
Good Perl practices require more complex programs to add the use strict; and usewarnings; pragmas, leading into something like:
use strict;
use warnings;
print "Hello World!\n";
$ perl -i.bak -lp -e 's/Bob/Robert/g' *.txt
7/29/2019 Computer Science CE -2013 - Section C
19/27
Here is a more complex Perl program, that counts down the seconds up to a giventhreshold:
#!/usr/bin/perl
use strict;use warnings;my ( $remaining, $total );$remaining = $total = shift(@ARGV);STDOUT->autoflush(1);while ( $remaining ) {
printf ( "Remaining %s/%s \r", $remaining--, $total );sleep 1;}print "\n";
7/29/2019 Computer Science CE -2013 - Section C
20/27
The user interface, in the industrial design field ofhumanmachine interaction, is the space whereinteraction between humans and machines occurs.
The goal of interaction between a human and amachine at the user interface is effective operationand control of the machine, and feedback from themachine which aids the operator in makingoperational decisions.
Examples of this broad concept of user interfaces includethe interactive aspects of computer operating systems,hand tools, heavy machinery operator controls, andprocess controls. The design considerations applicablewhen creating user interfaces are related to or involvesuch disciplines as ergonomics and psychology.
7/29/2019 Computer Science CE -2013 - Section C
21/27
A user interface is the system by which people (users)interact with a machine. The user interface includeshardware (physical) and software (logical) components. User
interfaces exist for various systems, and provide a means of: Input, allowing the users to manipulate a system
Output, allowing the system to indicate the
effects of the users' manipulation
7/29/2019 Computer Science CE -2013 - Section C
22/27
Direct manipulation interface is the name of a general class of user interfaces that allowusers to manipulate objects presented to them, using actions that correspond at leastloosely to the physical world.
Currently (as of 2009) the following types of user interface are the most common: Graphical user interfaces (GUI) accept input via devices such as computer
keyboard and mouse and provide articulated graphical output on the
computer monitor. There are at least two different principles widely used in GUI design: Object-oriented
user interfaces (OOUIs) and application oriented interfaces.
Web-based user interfaces or web user interfaces (WUI) that accept inputand provide output by generating web pages which are transmitted via theInternet and viewed by the user using a web browser program. Newerimplementations utilize Java, AJAX, Adobe Flex, Microsoft .NET, or similar
technologies to provide real-time control in a separate program, eliminatingthe need to refresh a traditional HTML based web browser. Administrative web interfaces for web-servers, servers and networked computers
are often called control panels.
Touchscreens are displays that accept input by touch of fingers or a stylus.Used in a growing amount of mobile devices and many types of point of sale,industrial processes and machines, self-service machines etc.
7/29/2019 Computer Science CE -2013 - Section C
23/27
7/29/2019 Computer Science CE -2013 - Section C
24/27
a web site as the Front Office or Showroom software and the webapplication as the Back Office software.
Other people may use Front End and Back End. The front office is where visitors come in to browse and sometimes
make a purchase. The back office is there to provide support services for the front office,
such as processing customer orders and maintaining, issuing andreplenishing inventory.
While the front office is open to anyone, access to the back office isrestricted to authorised personnel only.
While the front office software is web only, the back office softwarecan be either desktop or web, or a mixture of the two.
It is possible for a web site (front end) to have a companion webapplication (back end), as shown in the following diagram:
7/29/2019 Computer Science CE -2013 - Section C
25/27
7/29/2019 Computer Science CE -2013 - Section C
26/27
7/29/2019 Computer Science CE -2013 - Section C
27/27