You are on page 1of 20

WEB QUERYING

Semi-Structured Data Approach


Web Query Language Approach
1- Semi-Structured Data Approach:

 Semi-structured data is the data which does not conforms to a data model but has some
structure. It lacks a fixed or rigid schema. It is the data that does not reside in a rational
database but that have some organisational properties that make it easier to analyse. With
some process, we can store them in the relational database.
Characteristics of Semi-structured Data:
 Data does not conforms to a data model but has some structure.
 Data can not be stored in the form of rows and columns as in Databases
 Semi-structured data contains tags and elements (Metadata) which is used to group data
and describe how the data is stored
 Similar entities are grouped together and organised in a hierarchy
 Entities in the same group may or may not have the same attributes or properties
 Does not contains sufficient metadata which makes automation and management of data
difficult
 Size and type of the same attributes in a group may differ
 Due to lack of a well defined structure, it can not used by computer programs easily
Sources of semi-structured Data:

 E-mails
 XML and other mark up languages
 Binary executables
 TCP/IP packets
 Zipped files
 Integration of data from different sources
 Web pages
 JSON
Advantages of Semi-structured Data:
 The data is not constrained by a fixed schema
 Flexible i.e Schema can be easily changed.
 Data is portable
 It is possible to view structured data as semi-structured data
 Its supports users who can not express their need in SQL
 It can deal easily with the heterogeneity of sources.
Disadvantages of Semi-structured data:
 Lack of fixed, rigid schema make it difficult in storage of the data
 Interpreting the relationship between data is difficult as there is no separation of the
schema and the data.
 Queries are less efficient as compared to structured data.
Problems faced in storing Semi-structured data:
 Data usually has an irregular and partial structure. Some sources have implicit structure of
data, which makes it difficult to interpret the relationship between data.
 Schema and data are usually tightly coupled i.e they are not only linked together but are
also dependent of each other. Same query may update both schema and data with the
schema being updated frequently.
 Distinction between schema and data is very uncertain or unclear. This complicates the
designing of structure of data
 Storage cost is high as compared to structured data
Possible solution for storing Semi-structured data:

 Data can be stored in DBMS specially designed to store semi-structured data


 XML is widely used to store and exchange semi-structured data. It allows its user to define
tags and attributes to store the data in hierarchical form.
Schema and Data are not tightly coupled in XML.
 Object Exchange Model (OEM) can be used to store and exchange semi-structured data.
OEM structures data in form of graph.
 RDBMS can be used to store the data by mapping the data to relational schema and then
mapping it to a table
Extracting information from Semi-structured Data:

 Semi-structured data have different structure because of heterogeneity of the sources.


Sometimes they do not contain any structure at all. This makes it difficult to tag and index.
So while extract information from them is tough job.
Solution for extracting information:
 Graph based models (e.g OEM) can be used to index semi-structured data
 Data modelling technique in OEM allows the data to be stored in graph based model. The
data in graph based model is easier to search and index.
 XML allows data to be arranged in hierarchical order which enables the data to be indexed
and searched
 Use of various data mining tools
2- Web Query Language Approach:

 Query Language is a technique of accessing data from the database.


 Query language (QL) refers to any computer programming language that requests and
retrieves data from database and information systems by sending queries. It works on user
entered structured and formal programming command based queries to find and extract
data from host databases.
 Query language may also be termed database query language.
Importance of Query Language:
 Query languages allow you to search computer systems (databases and file systems) for
information stored on those systems. Database query languages come in the SQL and no-
SQL flavours. Querying a file system on a computer can be done with many OS utilities,
but most of them will allow you to use regular expressions to search/find files or text
within files. Both of these skill-sets are invaluable if you plan to work with computerized
systems.
The main types of popular query modes are:
 The menu,
 The “fill-in-the-blank” technique,
 The structured query.
Flexible Query Language:
 The most flexible query language is of course natural language.
TYPES:
 Procedural Query Language :
 Non-Procedural Query Language :
Procedural Query Language :
 This is a formal way of accessing the database. The information regarding what has to be
accessed and how it has to be accessed are provided along with the queries, so that the data
can be accessed from the database.
Procedural Query Language :
Relational Algebra:

 Relational Algebra is a type of Procedural Query Language. It consists of a set of operators


which take one or two relations as input and a new relation is provided as the output. RA is
the component of relational query engine. RA also provides a framework for query
optimization. SQL queries are internally translated into RA operations first.

 Relational Algebra eliminates duplicate tuples from the result by default.


Non Procedural Query Language :
 This is an informal way of accessing the data from the database.
 In the case of Non Procedural Query Language, information is required only about what
data has to be accessed from the database.
 SQL and Tuple Relational Calculus are types of Non Procedural Query Language.
Difference between Procedural and Non-
Procedural language:
PROCEDURAL LANGUAGE: NON-PROCEDURAL LANGUAGE:
It is command-driven language. It is a function-driven language

It works through the state of machine. It works through the mathematical functions.

Its semantics are quite tough. Its semantics are very simple.

It returns only restricted data types and allowed values. It can return any datatype or value

Overall efficiency is very high. Overall efficiency is low as compared to Procedural Language.

Size of the program written in Procedural language is large. Size of the Non-Procedural language programs are small.

It is not suitable for time critical applications. It is suitable for time critical applications.

Iterative loops and Recursive calls both are used in the Procedural languages. Recursive calls are used in Non-Procedural languages.

You might also like