-->

Explain about data integrity.

q)Explain about data integrity.

ans:-
Database integrity:
It means the correctness and consistency of data. It is another form of database protection.
Put simply, data integrity is the assurance that data is consistent and correct.
Data integrity is normally enforced in a database system by a series of integrity constraints or rules.
         Three types of integrity constraints are an inherent part of the relational data model: entity integrity, referential integrity

Entity integrity concerns the concept of a primary key. Entity integrity is an integrity rule which states that every table must have a primary key and that the column or columns chosen to be the primary key should be unique and not null. It means the primary key’s data must not be missing in table/s.
   or
The entity integrity is a constraint on primary key value. It states that any attribute of a primary key cannot contain null value. If primary key contains null value, it is not possible to uniquely identify a record in a relation. Entity integrity ensures that it should be easy to identify each entity in the database.

Referential integrity concerns the concept of a foreign key. The referential integrity rule states that any foreign key value can only be in one of two states. The usual state of affairs is that the foreign key value refers to a primary key value of some table in the database. Occasionally, and this will depend on the rules of the business, a foreign key value can be null. In this case we are explicitly saying that either there is no relationship between the objects represented in the database or that this relationship is unknown.
Or
Referential Integrity
Referential integrity ensures that the relationship between the primary key (in a referenced table) and the foreign key (in each of the referencing tables) is always maintained. The maintenance of this relationship means that:
  • A row in a referenced table cannot be deleted, nor can the primary key be changed, if a foreign key refers to the row. For example, you cannot delete a customer that has placed one or more orders.
  • A row cannot be added to a referencing table if the foreign key does not match the primary key of an existing row in the referenced table. For example, you cannot create an order for a customer that does not exist.

Domain Integrity
Domain (or column) integrity specifies the set of data values that are valid for a column and determines whether null values are allowed. Domain integrity is enforced by validity checking and by restricting the data type, format, or range of possible values allowed in a column.

Explain different database models.



q)Explain different database models.

ans:-

Database model:-A database model or database schema is the structure or format of a database, described in a formal language supported by the database management system.

There are many database models. Let's understand some of the models.


Hierarchical model:-
Hierarchical database is a model in which data is organized into a tree-like structure. In this,
  • Data is organized like a family tree or organization chart
  • The parent record can have multiple child records – child records can only have one parent
  • Pointers link each parent record with each child record
  • Complex and difficult to maintain
This structure allows one 1:N relationship between two types of data. This structure is very efficient to describe many relationships in the real world; recipes, table of contents, ordering of paragraphs/verses,
       Example:

We can see here a parent node with many branches called children.Each child has their own record with furhher informations.In given diagram, the first record has name “Ram” with street “Baneshwor” and city named kathmandu. It is further linked to its balance id and amount. In same fashion all others records have, they all are related or linked to  their id and amount. We can see records’ arrangement in tree like format.
Advantages:-   1) easiest model of database.
                      2) Searching is fast if parent is known.
                      3) supports one to many relationship.
Disadvantages:        1) old and outdated one.
                            2) Can not handle many to many relationships.
                                3) More redundancy.
Network model:-The network model organizes data using two fundamental constructs, called records and sets.        The Network Model
  1. Data are represented by collections of records.
  2. Relationships among data are represented by links.
  3. Organization is that of an arbitrary graph.
  4. Figure  shows a sample network database that is the equivalent of the relational database of Figure ??
eg.


We have taken same example as mentioned above.but the records are arranged in graph like structure. In this we do not use concept of child /parent.In given diagram the records are linked to each other with a solid line as it is in hierarchical. Two records namely Ramesh and Hary are linked to two balance id and amounts.
Advantages:- 1) more flexible due to many to many relationship.
                    2) Reduction of redundancy.
                    3) Searching is very fast.
Disadvantages:-   1) very complex.
                                2) Needs long and complex programs.
                                3) Less security
Relational model: - Three key terms are used extensively in relational database models: relations, attributes, and domains. A relation is a table with columns and rows. The named columns of the relation are called attributes, and the domain is the set of values the attributes are allowed to take.
The basic data structure of the relational model is the table, where information about a particular entity is represented in columns and rows. Thus, the "relation" in "relational database" refers to the various tables in the database; a relation is a set of tuples.So,

Relational databases
  • Data is organized into two-dimensional tables, or relations
  • Each row is a tuple (record) and each column is an attribute (field)
  • A common field appears in more than one table and is used to establish relationships
  • Because of its power and flexibility, the relational database model is the predominant design approach

name
street
city
id no.
balance
RAm
Thapagaun
KTm
00321
Rs. 900087
ekan
BAneshwor
Pokhara
008
Rs.45666
Hary
Kalanki
Ktm
9870
Rs. 65799
Sam
Koteshwor
Ktm
7890
Rs. 5600
Kale
Kalnki
Ktm
456
Rs. 65400

In this table we have used different concept like field (each column),record (each row). Each row gives us a complete information. If we have many tables then we relate them for data extractions,this is called relationship between tables.Apart from these, we also use other concept like,primary key,foreign key,Entity etc.

Explain system designing tools.

q)Explain system designing tools.
ans:-
Systems Design: In this phase we start design of proposed new system.It describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudo code and other documentation. We can use two designing methods namely logical (what is required for IS) and physical (how to achieve requirements). At first we design logical and then it is converted into physical design. A prototype should be developed during the logical design phase if possible. The detailed design phase modifies the logical design and produces a final detailed design, which includes technology choices, specifies a system architecture, meets all system goals for performance, and still has all of the application functionality and behavior specified in the logical design.
          This design can carry following activities:

    • Defining precisely the required system output
    • Determining the data requirement for producing the output
    • Determining the medium and format of files and databases
    • Devising processing methods and use of software to produce output
We can use several tools while designing. They are: Algorithm, Flowchart, Pseudo code, etc. Let’s see in detail about some of these all designing tools.
I) Algorithm:
An algorithm is an effective method or a tool for solving a problem using a finite sequence of well organized instructions. Algorithms are used for calculation, data processing, and many other fields.
                                  Each algorithm is a list of well-defined instructions for completing a task. Starting from an initial state, the instructions describe a computation that proceeds through a well-defined series of successive states, eventually terminating in a final ending state. For example,
-->start
-->read a no. x
-->read a no. y
→ let sum=x+y
-->display sum
-->stop
                           II) Flowchart:- It is a common type of diagram or picture, that represents an algorithm or process, showing the steps as boxes of various kinds, and their order by connecting these with arrows. Or simply we can say a graphical representation of algorithm. Flowcharts are used in analyzing, designing, documenting or managing a process or program in various fields. Some symbols used in flowcharts are Oval, parallelogram, rectangle, flowline, annotation etc. different symbols have different meanings. For example,
           
                                    
Pseudo Code:
Pseudo-Code is simply a numbered list of instructions to perform some task. Here Pseudo means fake. So it is a fake code which we use to convert algorithms. In this we use many English words or verbs like START/BEGIN, DO, WHILE, HALT,STOP,INITIALIZE etc, Any case can be used. Writing Pseudocode is just like reading a story. So it’s easy to write and understand. For example,
BEGIN
GET GRADE
IF student's grade is greater than or equal to 80
      Print "passed in distinction"
ELSE
      Print "other division"
HALT

Who is system analyst? Explain his/her skills to be with.

q)Who is system analyst? Explain his/her skills to be with.
ans:-
system analyst:-


The persons who perform above task/system analysis,design and implementation activity is know as system analyst. Somewhere we say or call by names like business engineer, business analyst etc. The work of system analyst who designs an information system is just same as an architect of a house. They work as facilitators of the development of information systems and computer applications.


skill to be with:-
following are the skills of system analyst.

1) Analytical skill:- Analytical skill is the ability to visualize, articulate (express), solve complex problems and concepts, and make decisions that make sense based on available information. Such skills include demonstration of the ability to apply logical thinking to gathering and analyzing information, designing and testing solutions to problems, and formulating plans.
2) Technical skill: Many aspects of the job of system analysts are technically oriented. In order to develop computer based IS (information systems), system analyst must understand information technologies, their potentials and their limitations. A system analyst needs technical skills not only to perform tasks assigned to him but also to communicate with other people with whom s/he works in system development. The technical knowledge of SA must be updated from time to time. S/he should be familiar with technologies such as:
                                >Micro/mini/mainframe computers, workstations
                             >Programming language
                    >Operating systems, database and file management systems, data communications standard system development tools and environments, decision support systems.
3)Managerial skill:-Management in all business is the act of getting people together to accomplish desired goals and objectives. This skill comprises planning, organizing, staffing, leading or directing, and controlling an organization (a group of one or more people or entities) or effort for the purpose of accomplishing a goal.
4)Interpersonal skill:-
Interpersonal skills are the life skills we use everyday to communicate and interact with other people, both individually and in groups. It includes
  1. verbal communication
  2. non-verbal communication
  3. listening skills
  4. problem solving
  5. decision making
  6. assertiveness (Communicating our values, ideas, beliefs, opinions, needs and wants freely.

Who is system analyst? Explain his/her roles.

q)Who is system analyst? Explain his/her roles.

ans:-
System analyst:-

The persons who perform above task/system analysis,design and implementation activity is know as system analyst. Somewhere we say or call by names like business engineer, business analyst etc. The work of system analyst who designs an information system is just same as an architect of a house. They work as facilitators of the development of information systems and computer applications.

His/her roles:-
Defining Requirement: It's very difficult duty of analyst to understand user's problems as well as requirements. some techniques like interview, questioning, surveying, data collection etc have to be used. The basic step for any system analyst is to understand the requirements of the users.
Prioritizing Requirements: Number of users use the system in the organization. Each one has a different requirement and retrieves different information and in different time. For this the analyst must have good interpersonal skill, convincing power and knowledge about the requirements and setting them in proper order of all users.
Gathering Facts, data and opinions of Users: After determining the necessary needs and collecting useful information the analyst starts the development of the system with active cooperation from the users of the system. Time to time, the users update the analyst with the necessary information for developing the system. The analyst while developing the system continuously consults the users and acquires their views and opinions.
Evaluation and Analysis: Analyst analyses the working of the current information system in the organization and finds out extent to which they meet user's needs. on the basis of facts,opinions, analyst finds best characteristic of new system which will meet user's stated needs.
Solving Problems: Analyst is actually problem solver. An analyst must study the problem in depth and suggest alternate solutions to management. Problem solving approach usually has steps: identify the problem, analyse and understand the problem, identify alternate solutions and select best solution.
Drawing up Specifications: The analyst must draw certain specifications which will be useful for the manager. The key duty of system analysis is to obtain the functional specification of the system to be designed. The specification must be non-technical so that users and managers understand it. The specification must be precise and detailed for implementers.
Designing system:- Once accepted the specification, the analyst starts to design system. The design must be understandable to the system implementer. The design must be modular to accommodate changes easily. There must be a good knowledge of latest tools and how to use them in system with testing idea.

Q2)Explain different phases used in system development

Explain different phases used in system development
ans:-
Th steps of SDLC are shown below.

Let's know about them in brief.

1)Problem definition:-The first step is problem definition(study). The intent is to identify the problem, determine its cause, and outline a strategy for solving it. It defines what ,when who and how project will be carried out.
2) System analysis:-
Once the problems identified, it is time to analyze the type of software that could answer the problems encountered. System analysis (may be by system analyst) will take a look at possible software. The goal of a system analysis is to know the properties and functions of software that would answer the concerns solicited from intended users.
Step 3.
   Systems Design: In this phase we start design of proposed new system.It describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudo code and other documentation.
.step 4 System Development:-
System development (Coding):
After designing the new system, the whole system is required to be converted into computer understanding language. Coding the new system into computer programming language does this. It is an important stage where the defined procedure are transformed into control specifications by the help of a computer language.
step 5. Testing:-
                           Before actually implementing the new system into operations, a test run of the system is done removing all the bugs, if any. It is an important phase of a successful system. After codifying the whole programs of the system, a test plan should be developed and run on a given set of test data. The output of the test run should match the expected results.
step 6 Implementation
After having the user acceptance of the new system developed, the implementation phase begins. Implementation is the stage of a project during which theory is turned into practice. During this phase, all the programs of the system are loaded onto the user's computer. After loading the system, training of the users starts. Main topics of such type of training are:
  • How to execute the package
  • How to enter the data
  • How to process the data (processing details)
  • How to take out the reports
step 7 System Evaluation:-
Management should conduct post-implementation reviews at the end of a project to validate the completion of project objectives and assess project management activities. Management should interview all personnel actively involved in the operational use of a product and document and address any identified problems.
8. System Maintenance:-
Maintenance is necessary to eliminate errors in the system during its working life and to tune the system to any variations in its working environment. It has been seen that there are always some errors found in the system that must be noted and corrected. It also means the review of the system from time to time. The review of the system is done for:
  • knowing the full capabilities of the system
  • knowing the required changes or the additional requirements
  • studying the performance