clientserver friends

Upload: kd286

Post on 04-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 ClientServer Friends

    1/17

    Client :a single-user computer that provides user interface services and appropriate

    database and processing services, and connectivity services to servers (and possibly

    other clients). Your World Wide Web brower is a client of a World Wide Web server.It runs client network access software which is called the requester or redirector

    (e.g. Win 95).

    Server : a multiple-user computer that provides shared database, processing, and

    interface services, and connectivity to clients and other servers. It will have a

    NOS(Network Operating System) that provide services such as file and print sharingand user account management(e.g. Win NT).

    Client/server computing: an information system database, software, and interfaces

    are distributed across a network of clients and servers that communicate and

    cooperate to achieve system objectives. (Distributed computing, cooperativecomputing.)

    Peer-to Peer: This has no servers and the network is used to share resources amongindependent peers. Every computer is both a client and a server

    Client-Server Protocol: A communication protocol between networked computers in

    which the services of one computer (the server) are requested by the other (the client).

    Centralized computing: a multi-user computer hosts all the information system

    components including the data storage, the business logic, and any system interfaces.

    The user may interact with this host computer via a terminal, but all the work is doneon the host computer.

    Network: A system of connected computers exchanging information with each other.Can be a LAN or WAN

    Local area network (orLAN): a set of client computers through cable over

    relatively short distances.

    Wide area network ( orWAN): an interconnected set of LANs or the connection of

    PC over a longer distance

    There are two types of servers.

    File-and-print servers:File Serversprovides services that allow network users to share files e.g. Windows NT.These services include things like file transfer, file storage and data migration, file update

    synchronization (ensuring that each user has the latest version) and file archiving.

    E.g.Stores the database, but the client computers must execute all database instruction.Such asAccess and dBASE.

    Print Servers manage and control printing on a network, allowing multiple and

    simultaneous access to printing facilities. The network operating system achieves this by

  • 7/30/2019 ClientServer Friends

    2/17

    using print queues, which are special storage areas where print jobs are stored and then

    sent to the printer in an organized fashion.

    Application(Database) servers: store the database, but the database commands are alsoexecuted on those servers. The clients merely send their database commands to the

    server. The server returns only the result of the database command processing and notentire databases or tables. Such as oracle and SQL Server

    Message servers: Not only files are passed between users. Data can take form ofgraphics, video, audio, text, binary e.g. Electronic mail, workgroup application(e.g.

    workflow management applications and linked-object documents ), OO applications,

    Directory services

    Protocols : the agreed upon ways that computers exchange information

    - Hardware protocol defines how hardware devices operate and work together(e.g.

    10baseT Ethernet protocol)

    Software protocol programs communicate with each other via this e.g. network

    protocols:

    - TCP/IP: Transmission Control Protocol/Internet Protocol - this protocol is thefoundation of the Internet, an agreed upon set of rules directing computers on how

    to exchange information with each other. Other Internet protocols, such as FTP,

    GopherandHTTP sit on top of TCP/IP. Good for large networks that use routers,networks connected directly to the Internet.

    -

    - IPX/SXP : Used in Novell Netware (NWLINK is Microsofts version). Good forlarge routed networks

    - NETBIEU (IBM): NETBIOS(Network Basic Input/Output System) Extended

    User Interface(used for small single server LAN networks)

    - NFS : Unix uses Network File System to share file storage over a TCP/IP network

    Bandwidth: A measurement of the volume of information that can be transmitted over a

    network at a given time. Think of a network as a water pipe - the higher the bandwidth

    (the larger the diameter of the pipe), the more data (water) can pass over the network

    (through the pipe).

    CGI: Common Gateway Interface - the specification for how an HTTP server shouldcommunicate with server gateway applications.

    Cookies: Sweet snacks. Also the collective name for files stored on your hard drive by

    your Web browser that hold information about your browsing habits, like what sites youhave visited, which newsgroups you have read, etc. Many view 'cookies' as an invasion of

    privacy. To learn about ways to protect your privacy, visit this site for software and

    information.

    http://www.squareonetech.com/glossary.shtml#FTPhttp://www.squareonetech.com/glossary.shtml#FTPhttp://www.squareonetech.com/glossary.shtml#FTPhttp://www.squareonetech.com/glossary.shtml#GOPHERhttp://www.squareonetech.com/glossary.shtml#HTTPhttp://www.squareonetech.com/glossary.shtml#HTTPhttp://www.wizvax.net/kevinmca/http://www.squareonetech.com/glossary.shtml#FTPhttp://www.squareonetech.com/glossary.shtml#GOPHERhttp://www.squareonetech.com/glossary.shtml#HTTPhttp://www.wizvax.net/kevinmca/
  • 7/30/2019 ClientServer Friends

    3/17

    Domain: The Internet is divided into smaller sets known as domains, including .com

    (business), .gov (government), .edu (educational), .mil(military) and others.

    Domain Name: Allows you to reference Internet sites without knowing the truenumerical address.

    FTP: File Transfer Protocol - a set of rules for exchanging files between computers via

    the Internet.

    Gateway: Computer hardware and software that allow users to connect from one

    network to another.

    GIF: Graphics Interchange Format - a common image format. Most images seen on web

    pages are GIF files.

    Host: The name of a specific machine within a largerdomain.

    HTML: HyperText Markup Language - a collection of tags typically used in the

    development of Web pages.

    HTTP: HyperText Transfer Protocol - a set of instructions for communication between a

    server and a World Wide Web client.

    IRC: Internet Relay Chat - the system allowing Internet users to conduct online text

    based communication with one or more other users. Eg. MSN Messenger

    ISP: Internet Service Provider - the company which provides you with a connection to

    the Internet via either a Dial-up Connectionor a Direct Connection. (e.g. ISDN)

    IP Address: Internet Protocol Address - every computer on the Internet has a unique

    identifying number, like 191.1.24.2.

    Internet : Exchange data and information using standard language and protocols. Thispermits computers of all types and sizes all over the world to communicate. All the

    computers connected to Internet are potential clients with access to a world of servers

    Intranet : a secure network, usually corporate, that uses Internet technology to integrate

    desktop, work group, and enterprise computing into a single cohesive framework

    Network topology: describes how a network provides connectivity between the

    computers on that network. All network topologies operate according to established

    network protocols that permit different types of computers to communicate andinteroperate. SNA, TCP/IP.

    http://www.squareonetech.com/#DOMAINhttp://www.squareonetech.com/#DIAL-UPhttp://www.squareonetech.com/#DIAL-UPhttp://www.squareonetech.com/#DIRECThttp://www.squareonetech.com/#DOMAINhttp://www.squareonetech.com/#DIAL-UPhttp://www.squareonetech.com/#DIRECT
  • 7/30/2019 ClientServer Friends

    4/17

    Nameserver: A computer running a program that converts domain names into

    appropriate IP addresses and vice versa

    Packet: A chunk of data. The TCP/IP protocol breaks large data files into smaller"packets" for transmission. When the data reaches its destination, the protocol makes sure

    that all packets have arrived without error.

    Page: An HTML document, or Web site.

    PING: Ping - a program for determining if another computer is presently connected to

    the Internet.

    PGP: Pretty Good Privacy - an encryption scheme which uses the "public key" approach

    - messages are encrypted using the publicly available key, but can only be deciphered by

    the intended recipient via the private key.

    URL: Uniform Resource Locator - the method by which Internet sites are addressed. Anexample would be "http://www.squareone.com", the address of the this home page.

    Data architectures for distributed relational databases

    Client/server computing helps on distributing data without loss of centralized

    control. This control is being accomplished through distributed relational

    databases.

    Relational database: Data are stores as table format. Each file is implemented as

    a table. Each field is a column in the table. Each record in the file is a row in the

    table. Related records between two tables are implemented by intentionallyduplicating columns in the two tables.

    Distributed relational database: distributes or duplicates tables to multiple

    database servers. The program required to implement distributed relational

    databases is called a distributed relational database management system.

    Distributed relational database management system: is a software programthat controls access to and maintenance of the stored data. It also provides for

    backup, recovery, and security. It is sometimes called a client/server database

    management system.

    Database engine: is that part of the DBMS that execute database commands tocreate, read, update, and delete records in the tables.

    Most RDBMSs support two types of distributed data.

  • 7/30/2019 ClientServer Friends

    5/17

    Data distribution:partitions data to one or more database servers. Entire tables

    can be allocated to different servers, or subsets of rows in a table can be

    duplicated to different servers.

    Data replication : duplicates data on one or more database servers. Entire tables

    can be duplicated on different servers, or subsets of rows in a table can beduplicated to different servers.

    Data architecture must specify the RDBMS and the degree to which data will bedistributed or replicated. An application data architecture is selected based on the

    desired client/server model and the database technology needed to support that

    model.

    Relational Database Concepts (http://bus.tsud.edu/cis3330/protected/glossary.htm)

    DDL - data definition language is used to define the database.

    DML - database modeling language is used to manipulate the database and retrieve

    records.

    Logical data modeling is a business perspective of a project's data that is

    independent of how it will be stored in the database. It describes the business datarequirements in a format where business users can understand it.

    Physical data modeling is a data model that directly represents the logical data as it

    will be stored in the DBMS. The physical model is derived from the logical model.

    The methods for migrating from a logical to a physical model are as follows: The

    entities become database tables and the attributes become database columns. Datatypes and field lengths are defined for each attribute.

    - Indexes are created and system-enforced referential integrity rules are defined.

    - Data definition language (DDL) is created to define the database and associatedtables.

    - The tables are populated with domain values, which are the pre-defined values for

    particular attributes (e.g., colors or models).

    Application Data Model: the data model for a single system or application.

    Online Transaction Processing (OLTP) : typically uses Entity-Relation (ER) DataModeling

    Online Analytical Processing (OLAP). : typically uses a combination ofdimensional modeling and ER Data modeling.

  • 7/30/2019 ClientServer Friends

    6/17

    Data flow diagram(DFD) is one of very famous tool that pictures the flow of data

    through a system and the work or processing performed by that system.It is also

    called bubble chart, transformation graph, and process model

    Entity :

    - Object that represents an object in the real world that has one specific objective.It contains properties(fields/columns) that describes the entity. It also has

    relationships with other entities which is expressed in a ER(Entity Relationship)

    Diagram.- Each record has a Primary key - An attribute or group of attributes that uniquely

    identifies a record within a table

    - Secondary key A key that is used strictly for data retrieval purposes- Cardinality : defines the minimum and maximum number of occurrences of one

    entity for a single occurrence of the related entity. Because all relationships are bi-

    directional, cardinality must be defined in both directions for every relationship- Domain Integrity all the values an attribute can legitimately take on

    - Entity integrity - The absence of null values in a primary key. Guarantees that

    each entity will have a unique identity. One of two integrity rules for databases.

    - Independent entity: one that exists regardless of the existence of any otherentity. Its primary key contains no attributes that would make it dependent on the

    existence of another entity.

    - Something about which you want to store data; typically a person, place, thing,concept, or event. Also called a record in the old file based system. Entities are

    grouped together to form tables or entity sets.

    Entity relationship diagram - A diagram that depicts an entity relationship modelsentities, attributes, and relations. It also displays connectivity and cardinality. The

    entity relationship diagram is created during the design of the database. It might

    also be used as a communications tool to help people understand the makeup of thedatabase.

    Schema - A drawing of a relational database in which each table is represented by a

    rectangle and the relationships between tables are represented by lines that connectthe rectangles. The table name appears at the top of the rectangle, with all attributes

    listed inside and the primary key is usually in bold print. The lines start at the side of

    the rectangle next to the place of the attribute used in the relationship. The type of

    relationship is indicated by the symbols used next to the rectangles (1:M, 1:1, andM:M)

    Existence dependent - A property of an entity whose existence depends on one or

    more other entities. Represented by a double-square box in the E-R diagram.

    Composite entity An entity that stands for the relationship between 2 or more otherentities. The most common use of composite entities in a relational database is to

  • 7/30/2019 ClientServer Friends

    7/17

    provide a way to express a many-to-many relationship as 2 one-to-many

    relationships.

    Normalization

    Normalization - A process for assigning attributes to entities using principles thatwill greatly reduce or eliminate data redundancies.

    Functional dependence - Within a relation R, an attribute B is functionally

    dependent on an attribute A if and only if a given value of the attribute A determines

    exactly one value of the attribute B. The relationship "B is dependent on A" isequivalent to "A determines B". In a properly designed table, if A is the primary key

    of a table, all the attributes in the table should be functionally dependent on A.

    Partial dependency - An attribute in a table is dependent on a portion of the primary

    key, rather than the entire key. This situation is eliminated when the table is in second

    normal form

    Normal forms - Stages in the normalization process. There are seven normal forms,

    however, most business databases are designed using only the first three normal

    forms. See also 1NF, 2NF, and 3NF.

    First normal form 1NF - First or lowest or the database design forms that require:

    - all the key attributes are defined- there are no repeating groups

    - all attributes are dependent on the primary key.

    Second normal form 2NF - Second of the database design forms that require that thedata is in 1NF, and the data includes no partial dependencies, that is, no attribute is

    dependent on only a portion of the primary key.

    Third normal form 3NF Third of the database design forms that requires that the

    data is in 2NF, and the data includes no transitive dependencies(An attribute in a table

    is dependent on another non primary key attribute rather than the primary key. Thissituation is eliminated when the table is in third normal form)

    http://bus.tsud.edu/cis3330/protected/glossary.htm#1NFhttp://bus.tsud.edu/cis3330/protected/glossary.htm#2NFhttp://bus.tsud.edu/cis3330/protected/glossary.htm#3NFhttp://bus.tsud.edu/cis3330/protected/glossary.htm#1NFhttp://bus.tsud.edu/cis3330/protected/glossary.htm#2NFhttp://bus.tsud.edu/cis3330/protected/glossary.htm#3NF
  • 7/30/2019 ClientServer Friends

    8/17

  • 7/30/2019 ClientServer Friends

    9/17

    Figure 4-10. Normalization example - denormalized data model.

    The first step is to take the model to the first normal form (1NF). In the first normal form,

    each attribute or column occurs only once for each instance of the primary key. Since acitizen can own multiple vehicles, the vehicle data moves to a new entity called Vehicle.

    (See Figure 4-11.) This way, the data for each citizen is stored only once and multiple

    vehicles owned by a citizen can exist without citizen data repeated. Characteristics of first

    normal form are as follows:

  • 7/30/2019 ClientServer Friends

    10/17

    Figure 4-11. Normalization example - First Normal Form (1NF).

    The next step is to take the model to second normal form (2NF). Second normal form

    starts with the first normal form model, then any partial dependencies are removed so all

    the non-key attributes are fully dependent on the composite primary key. In the example,the insurance company is not dependent on the composite primary key, so it is put into a

    separate entity. (See Figure 4-12.) By definition, a model is already in second normal

    form if it only has a single attribute primary key.

  • 7/30/2019 ClientServer Friends

    11/17

    Figure 4-12. Normalization example - Second Normal Form (2NF).

    The final step is to take the model to third normal form (3NF). Third normal form startswith the second normal form model and then modifies it so that no attributes depend on

    any other non-key attributes. As well, there are no attributes calculated from other

    attributes. In third normal form, all attributes are dependent on the primary key and onlythe primary key. In the example, the county seat is dependent on the county, so a separate

    county entity is added. (See Figure 4-13.)

  • 7/30/2019 ClientServer Friends

    12/17

    Figure 4-13. Normalization example - Third Normal Form (3NF).

    Once a model has reached third normal form, any variation from that form is calleddenormalization. Queries against an ER model typically require the joining of two or

    more tables together. The more joins required for a query, the more chance of

    performance degradation. Denormalization is sometimes necessary in a data model toincrease the performance of data access.

    Unary relationship - A relationship that exists within a single table. Example: A

    table of employees might have as its primary key EMP-NUM. That same table

    might have a field for the employee's manager which would contain the EMP-NUMof the manager of that employee. See also recursive relationship.

    Recursive relationship A relationship that is expressed about multiple records withinone table. Example: A recursive relationship might be expressed within a universitys

    class table if one course is a prerequisite of another course. See

    Hierarchical database model (e.g. IMS)

    A database model based on an upside-down tree structure in which each record is

    called a segment. The top record is the root segment. Each segment has a 1:M

  • 7/30/2019 ClientServer Friends

    13/17

    relationship to the segment directly below it. (The basic data model of a hierarchical

    model is a hierarchy or tree relationship where each segment of the tree has one

    parent and can have many children).

    A recursive hierarchical relationship is where the entity is both the parent and the

    child and the relationship is non-identifying. An example of a recursive relationship iswhere a product can be constructed of multiple products stored in the same table.

    Segment - A record in a hierarchical database model - part of a parent childrelationship. Each segment (except the root segment) has one parent segment and

    may have one or more child segments.

    Child A segment located below another segment in a hierarchical tree; each lower

    segment is a child of the directly connected segment above it. (A child pointer is one

    that points to a record that is one level down from the current record. A twin pointer

    points to a record that shares the same parent as the current record and resides at the

    same level as the current record)

    Parent - The segment located above another segment in a hierarchical tree; eachsegment is a parent of the segments below it. See also child

    Root - The first or top segment in a hierarchical database model.

    Disadvantages of the hierarchical model include:

    1. the designer of a hierarchical database must be concerned with physical storage

    considerations

    2. the designer of a hierarchical database must be conscious of the manner in whichdata are accessed

    3. hierarchical databases do not permit user-friendly ad hoc queries

    4. the hierarchical model cannot directly model m:m relationships

    5. there is no standard

    6. programming is difficult

    Advantages of the hierarchical model

    it is optimized for 1:m relationships stable, mature technology it handles sequential records processing efficiently

    Hierarchical path - The ordered sequence of segments that must be accessed by the

    hierarchical DBMS in order to retrieve a given segment

    http://bus.tsud.edu/cis3330/protected/glossary.htm#Childhttp://bus.tsud.edu/cis3330/protected/glossary.htm#Child
  • 7/30/2019 ClientServer Friends

    14/17

    This child/parent rule assures that data is systematically accessible. To get to a low-level table,you start at the root and work your way down through the tree until you reach your target. Ofcourse, as you might imagine, one problem with this system is that the user must know how thetree is structured in order to find anything!

    However, as you can imagine, the hierarchical database model has some serious problems. Forone, you cannot add a record to a child table until it has already been incorporated into the parenttable. This might be troublesome if, for example, you wanted to add a student who had not yetsigned up for any courses.

    Worse, yet, the hierarchical database model still creates repetition of data within the

    database. You might imagine that in the database system shown above, there may be ahigher level that includes multiple course. In this case, there could be redundancy becausestudents would be enrolled in several courses and thus each "course tree" would haveredundant student information. Redundancy would occur because hierarchical databaseshandle one-to-many relationships well but do not handle many-to-many relationships well.This is because a child may only have one parent. However, in many cases you will want tohave the child be related to more than one parent. For instance, the relationship betweenstudent and class is a "many-to-many". Not only can a student take many subjects but asubject may also be taken by many students. How would you model this relationship simplyand efficiently using a hierarchical database?

  • 7/30/2019 ClientServer Friends

    15/17

    Network database model (e.g. IDMS)

    A database model that expresses a collection of records in M:M relationships known

    as owner/member relationships. Each owner may own multiple members, andmultiple owners may own each member.

    Owner - The record on the one side of a one to many relationship expressed in anetwork database model. The relationship is owner - member.

    Faced with these serious problems, the computer brains of the world got together and came upwith the network model.

    In many ways, the Network Database model was designed to solve some of the moreserious problems with the Hierarchical Database Model. Specifically, the Network model

    solves the problem of data redundancy by representing relationships in terms of sets

    rather than hierarchy.

    The network model is very similar to the hierarchical model actually. In fact, the

    hierarchical model is a subset of the network model. However, instead of using a single-

    parent tree hierarchy, the network model uses set theory to provide a tree-like hierarchywith the exception that child tables were allowed to have more than one parent. This

    allowed the network model to support many-to-many relationships

    Visually, a Network Database looks like a hierarchcal Database in that you can see it as a type oftree. However, in the case of a Network Database, the look is more like several trees which sharebranches. Thus, children can have multiple parents and parents can have multiple children.

    The network model was far from perfect. Most profoundly, the model was difficult toimplement and maintain. Most implementations of the network model were used by computerprogrammers rather than real users. Enter the Relational Database Model

  • 7/30/2019 ClientServer Friends

    16/17

    Advantages of the network model

    1. Records more flexible and independent, can be accessed directly

    2. Records have multiple access paths3. Records of the same type can be linked together with a loop

    4. Physical pointers are the method of establishing relationships

    Disadvantages of the network model

    1. High skill level required to implement and maintain2. Update and delete very complex

    Recursive Network Relationship

    Network modeling:

    Technique used to document the geographic structure of a system. It is also called

    distribution modeling and geographic modeling.

    Logical network models depict the perspective of the system owners and system users oninformation systems geography. Synchronization of data, process and interface building

    blocks with those of the network models is needed.

    Distributed computing, which allocates specific information system elements to

    different computers that cooperate and inter-operate across a computer network, drives

    the network modeling.

    The distributed computers are:

    Desktop and laptop computers

    Shared network computers, clients

    Legacy mainframe computers and minicomputers

  • 7/30/2019 ClientServer Friends

    17/17

    Network modeling: diagrammatic technique used to document the shape of a business or

    information system in terms of its business locations.

    Figure 7.1 shows an example of incomplete location activity diagram.