Notes: (Noteshub - Co.In) Cse: Advance Database Management Systems (Adbms)
Notes: (Noteshub - Co.In) Cse: Advance Database Management Systems (Adbms)
NotesHuB
(NotesHub.co.in)
Architectural Models
Some of the common architectural models are −
2) A user doesn’t know where the data is located physically. Database presents the
data to the user as if it were located locally.
4) Data can be joined and updated from different tables which are located on different
machines.
6) Different DBMS products are used in different systems which increases in complexity
of the system.
8) While recovering a failed system, the DBMS has to make sure that the recovered
system is consistent with other systems.
https://www.hotscripts.com/blog/whats-database-technologies-tools/
Provided by: Noteshub.co.in | Download Android App
What is PL/SQL?
PL/SQL stands for Procedural Language extension of SQL.
PL/SQL is a block structured language. The programs of PL/SQL are logical blocks that can
contain any number of nested sub-blocks. Pl/SQL stands for "Procedural Language
extension of SQL" that is used in Oracle. PL/SQL is integrated with Oracle database (since
version 7). The functionalities of PL/SQL usually extended after each release of Oracle
database. Although PL/SQL is closely integrated with SQL language, yet it adds some
programming constraints that are not available in SQL.
PL/SQL Procedure
The PL/SQL stored procedure or simply a procedure is a PL/SQL block which performs one
or more specific tasks. It is just like procedures in other programming languages.
o Header: The header contains the name of the procedure and the parameters or
variables passed to the procedure.
o Body: The body contains a declaration section, execution section and exception
section similar to a general PL/SQL block.
Provided by: Noteshub.co.in | Download Android App
Table creation:
Procedure Code:
Provided by: Noteshub.co.in | Download Android App
Output:
Procedure created.
1. BEGIN
2. insertuser(101,'Rahul');
3. dbms_output.put_line('record inserted successfully');
4. END;
5. /
Now, see the "USER" table, you will see one record is inserted.
ID Name
101 Rahul
PL/SQL Function
The PL/SQL Function is very similar to PL/SQL Procedure. The main difference between
procedure and a function is, a function must always return a value, and on the other hand a
procedure may or may not return a value. Except this, all the other things of PL/SQL
procedure are true for PL/SQL function too.
Here:
o The optional parameter list contains name, mode and types of the parameters.
o IN represents that value will be passed from outside and OUT represents that this
parameter will be used to return a value outside of the procedure.
o The AS keyword is used instead of the IS keyword for creating a standalone function.
6. n3 :=n1+n2;
7. return n3;
8. end;
9. /
1. DECLARE
2. n3 number(2);
3. BEGIN
4. n3 := adder(11,22);
5. dbms_output.put_line('Addition is: ' || n3);
6. END;
7. /
Output:
Addition is: 33
Statement processed.
0.05 seconds
1. DECLARE
2. a number;
3. b number;
4. c number;
5. FUNCTION findMax(x IN number, y IN number)
6. RETURN number
7. IS
8. z number;
9. BEGIN
10. IF x > y THEN
11. z:= x;
12. ELSE
13. Z:= y;
14. END IF;
Provided by: Noteshub.co.in | Download Android App
15.
16. RETURN z;
17. END;
18. BEGIN // Calling
19. a:= 23;
20. b:= 45;
21.
22. c := findMax(a, b);
23. dbms_output.put_line(' Maximum of (23,45): ' || c);
24. END;
25. /
Output:
Maximum of (23,45): 45
Statement processed.
0.02 seconds
Customers
Create Function:
2. RETURN number
3. IS
4. total number(2) := 0;
5. BEGIN
6. SELECT count(*) into total
7. FROM customers;
8. RETURN total;
9. END;
10. /
After the execution of above code, you will get the following result.
Function created.
While creating a function, you have to give a definition of what the function has to do. To
use a function, you will have to call that function to perform the defined task. Once the
function is called, the program control is transferred to the called function.
After the successful completion of the defined task, the call function returns program control
back to the main program.
To call a function you have to pass the required parameters along with function name and if
function returns a value then you can store returned value. Following program calls the
function totalCustomers from an anonymous block:
1. DECLARE
2. c number(2);
3. BEGIN
4. c := totalCustomers();
5. dbms_output.put_line('Total no. of Customers: ' || c);
6. END;
7. /
After the execution of above code in SQL prompt, you will get the following result.
1. DECLARE
2. num number;
3. factorial number;
4.
5. FUNCTION fact(x number)
6. RETURN number
7. IS
8. f number;
9. BEGIN
10. IF x=0 THEN
11. f := 1;
12. ELSE
13. f := x * fact(x-1);
14. END IF;
15. RETURN f;
16. END;
17.
18. BEGIN
19. num:= 6;
20. factorial := fact(num);
21. dbms_output.put_line(' Factorial '|| num || ' is ' || factorial);
22. END;
23. /
After the execution of above code at SQL prompt, it produces the following result.
Factorial 6 is 720
PL/SQL procedure successfully completed.
If you want to remove your created function from the database, you should use the
following syntax.
Provided by: Noteshub.co.in | Download Android App
PL/SQL packages are schema objects that groups logically related PL/SQL
types, variables and subprograms.
Package specification
Package Specification
The specification is the interface to the package. It just DECLARES the
types, variables, constants, exceptions, cursors, and subprograms that can
be referenced from outside the package. In other words, it contains all
information about the content of the package, but excludes the code for the
subprograms.
All objects placed in the specification are called public objects. Any
subprogram not in the package specification but coded in the package body
is called a private object.
Package Body
The package body has the codes for various methods declared in the
package specification and other private declarations, which are hidden from
code outside the package.
The CREATE PACKAGE BODY Statement is used for creating the package
body.
package_name.element_name;
Example:
Provided by: Noteshub.co.in | Download Android App
The following program provides a more complete package. We will use the
CUSTOMERS table stored in our database with the following records:
Select*fromcustomers;
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
|1|Ramesh|32|Ahmedabad|3000.00|
|2|Khilan|25|Delhi|3000.00|
|3| kaushik |23|Kota|3000.00|
|4|Chaitali|25|Mumbai|7500.00|
|5|Hardik|27|Bhopal|9500.00|
|6|Komal|22| MP |5500.00|
+----+----------+-----+-----------+----------+
--Removes a customer
PROCEDURE delCustomer(c_id customers.id%TYPE);
--Lists all customers
PROCEDURE listCustomer;
END c_package;
/
When the above code is executed at SQL prompt, it creates the above
package and displays the following result:
Provided by: Noteshub.co.in | Download Android App
Package created.
PROCEDURE listCustomer IS
CURSOR c_customers is
SELECT name FROM customers;
TYPE c_list is TABLE OF customers.name%type;
name_list c_list := c_list();
counter integer :=0;
BEGIN
FOR n IN c_customers LOOP
counter := counter +1;
name_list.extend;
name_list(counter):= n.name;
dbms_output.put_line('Customer('||counter||')'||name_list(counter));
Provided by: Noteshub.co.in | Download Android App
END LOOP;
END listCustomer;
END c_package;
/
Above example makes use of nested table which we will discuss in the
next chapter. When the above code is executed at SQL prompt, it produces
the following result:
DECLARE
code customers.id%type:=8;
BEGIN
c_package.addcustomer(7,'Rajnish',25,'Chennai',3500);
c_package.addcustomer(8,'Subham',32,'Delhi',7500);
c_package.listcustomer;
c_package.delcustomer(code);
c_package.listcustomer;
END;
/
When the above code is executed at SQL prompt, it produces the following
result:
Customer(1):Ramesh
Customer(2):Khilan
Customer(3): kaushik
Customer(4):Chaitali
Customer(5):Hardik
Customer(6):Komal
Customer(7):Rajnish
Provided by: Noteshub.co.in | Download Android App
Customer(8):Subham
Customer(1):Ramesh
Customer(2):Khilan
Customer(3): kaushik
Customer(4):Chaitali
Customer(5):Hardik
Customer(6):Komal
Customer(7):Rajnish
PL/SQL Trigger
Trigger is invoked by Oracle engine automatically whenever a specified event occurs.Trigger
is stored into database and invoked repeatedly, when specific condition match.
Triggers are stored programs, which are automatically executed or fired when some event
occurs.
Triggers could be defined on the table, view, schema, or database with which the event is
associated.
Advantages of Triggers
These are the following advantages of Triggers:
o Auditing
Creating a trigger:
Syntax for creating trigger:
Here,
o {BEFORE | AFTER | INSTEAD OF} :This specifies when the trigger would be
executed. The INSTEAD OF clause is used for creating trigger on a view.
o {INSERT [OR] | UPDATE [OR] | DELETE}: This specifies the DML operation.
o [OF col_name]: This specifies the column name that would be updated.
o [ON table_name]: This specifies the name of the table associated with the trigger.
o [REFERENCING OLD AS o NEW AS n]: This allows you to refer new and old values for
various DML statements, like INSERT, UPDATE, and DELETE.
o [FOR EACH ROW]: This specifies a row level trigger, i.e., the trigger would be
executed for each row being affected. Otherwise the trigger will execute just once
when the SQL statement is executed, which is called a table level trigger.
Provided by: Noteshub.co.in | Download Android App
o WHEN (condition): This provides a condition for rows for which the trigger would fire.
This clause is valid only for row level triggers.
Create trigger:
Let's take a program to create a row level trigger for the CUSTOMERS table that would fire
for INSERT or UPDATE or DELETE operations performed on the CUSTOMERS table. This
trigger will display the salary difference between the old values and new values:
After the execution of the above code at SQL Prompt, it produces the following result.
Trigger created.
Provided by: Noteshub.co.in | Download Android App
Provided by: Noteshub.co.in | Download Android App
Static or Embedded SQL are SQL statements in an application that do not change at
runtime and, therefore, can be hard-coded into the
application. DynamicSQL is SQL statements that are constructed at runtime; for example,
the application may allow users to enter their own queries.
Dynamic SQL refers to SQL code that is generated within an application or from the system tables
and then executed against the database to manipulate the data. The SQL code is not stored in the
source program, but rather it is generated based on user input. This can include determining not only
what objects are involved, but also the filter criteria and other qualifiers that define the set of data
being acted on.
Using this approach, we can develop powerful applications that allow us to create database objects
and manipulate them based on user input. For example, suppose you are working on a web
application that will include a function that presents the user with a screen that contains series of
parameters to define the information, then that the application performs a search based on the
parameters that have been filled in.
Without using Dynamic SQL, we would have to code the query to account for all the combinations of
the various parameter fields.
Select * from Customer
Where ((CustNM is not null and CustNM like 'John Doe%') or CustNM is null) and
((Age is not null and Age = '') or Age is null) and
((Sex is not null and Sex = '') or Sex is null) and
((Cars is not null and Cars = 2) or Cars is null)
If there are only a few, it is okay, but when you have 10 or more parameters, you can end up with a
complex query, particularly if you allow the user to specify conditions between parameters such
as AND, OR, etc.
The more typical approach used by application developers is to use a routine that parses the fields
within the client program and builds the WHERE clause to contain just the criteria needed. This results
in SQL code created in the application that is based on the user input. In our applications, we can
generate the query from these components to specify what we want to see and in what format.
Select * from Customer
Provided by: Noteshub.co.in | Download Android App
A Database system is partitioned into modules that deal with each of the
responsibilities of the overall system. The functional components of a database system
can be broadly divided into the storage manager and query processor components.
The storage manager is important because databases typically require a large amount
of storage space. Corporate databases range in of data. A gigabyte is 1000 megabytes
(1 billion bytes), and a terabyte is 1 million megabytes (1 trillion bytes), since the
main memory of computers cannot store this much information, the information is
stored on disks. Data are moved between disk storage and main memory of computers
cannot store this much information, the information is stored on disks. Data are
moved between disk storage and main memory as needed. Since the movement of
data to and from disk is slow relative to the speed of the central processing unit, it is
imperative that the database system structure the data so as to minimize the need to
move data between disk and main memory.
The Query Processor is important because it helps the database system simplify and
facilitate access to data. High level views help to achieve this goal; with them, users
of the system are not be burdened unnecessarily with the physical details of the
implementation of the system. However, quick processing of updates and queries is
important. It is the job of the database system to translate updates and queries is
important. It is the job of the database system to translate updates and queries written
in a nonprocedural language, at the logical level, into an efficient sequence of
operations at the physical level.
Provided by: Noteshub.co.in | Download Android App
Storage Manager
A storage manager is a program module that provides the interface between the low
level data stored in the database and the application programs and queries submitted
to the system. The storage manager is responsible for the interaction with the file
manager. The raw data are stored on the disk using the file system, which is usually
provided by a conventional operating system. The storage manager translates the
various DML statements into low level file system commands. Thus, the storage
manager is responsible for storing, retrieving and updating data in the database.
Which tests for the satisfaction of integrity constraints and checks the authority of
users to access data.
Transaction manager
Provided by: Noteshub.co.in | Download Android App
Which ensures that the database remains in a consistent correct) state despite system
failures, and that concurrent transaction executions proceed without conflicting.
File Manager
Which manages the allocation of space on disk storage and the data structures used to
represent information stored on disk.
Buffer manager
Which is responsible for fetching data from disk storage into main memory, and
deciding what data to cache in main memory. The buffer manager is a critical part of
the database system, since it enables the database to handle data sizes that are much
larger than the size of main memory.
The storage manager implements several data structures as part of the physical system
implementation:
DDL interpreter, which interprets DDL statements and records the definitions
in the data dictionary.
DML compiler, which translates DML statements in a query language into an
evaluation plan consisting of low level instructions that the query evaluation
engine understands.
A query can usually be translated into any of a number of alternative evaluation plans
that all give the same result. The DML compiler also performs query optimization,
that is it picks the lowest cost evaluation plan from among the alternatives.
https://advanced-sql-programming.blogspot.in/2010/01/advanced-sql-
programming.html
Provided by: Noteshub.co.in | Download Android App
DATA REPLICATION
Data Replication is the process of storing data in more than one site or node. This is
necessary for improving the availability of data. There can be full replication, in which a
copy of the whole database is stored at every site. There can also be partial replication,
in which case, some fragment (important frequently· used fragments) of the database
are replicated and others are not replicated. There are a number of advantages and
disadvantages to replication.
Advantages & Disadvantages of Data Replication
Security Considerations
Updated Software
It is mandatory to keep you software updated. It plays vital role in keeping
your website secure.
SQL Injection
It is an attempt by the hackers to manipulate your database. It is easy to
insert rogue code into your query that can be used to manipulate your
database such as change tables, get information or delete data.
Error Messages
You need to be careful about how much information to be given in the error
messages. For example, if the user fails to log in the error message should
not let the user know which field is incorrect: username or password.
Validation of Data
The validation should be performed on both server side and client side.
Passwords
It is good to enforce password requirements such as of minimum of eight
characters, including upper case, lower case and special character. It will
help to protect user‟s information in long run.
Upload files
The file uploaded by the user may contain a script that when executed on
the server opens up your website.
SSL
It is good practice to use SSL protocol while passing personal information
between website and web server or database.
Provided by: Noteshub.co.in | Download Android App
Provided by: Noteshub.co.in | Download Android App
Provided by: Noteshub.co.in | Download Android App
RDBMS Implementation
Relational database technology remains the mechanism of choice for data storage in information
management systems. BlazeLIMS supports Oracle and SQL Server, the two industry standards for
RDBMS, giving the customer the choice of the system most suitable to the situation. This choice allows
for cost effective installations ranging from 5 or fewer concurrent users up to hundreds of concurrent
users:
Oracle
o Superior concurrency management.
o More suitable for larger systems with more concurrent users.
o More expensive.
o More difficult to maintain.
SQL Server
o Less effective concurrency management - susceptible to more deadlocks.
o More suitable for systems with fewer concurrent users.
o Less expensive.
o Royalty free low-end database engine.
o Easier to maintain.
o More friendly tools.
Perhaps more important than choice of database is how the database is used. BlazeLIMS has been
implemented using the highest quality approach:
Proper transaction bounding with brief transactions and minimum locking windows, using an
optimistic locking model, provides superior concurrency management.
Use of the most efficient API (native SQLNet for Oracle, ODBC for SQL Server).
Server-only read/write transactionsinsures robust scaleable operation.
Superior physical schema implementation reduces long term DBA maintenance/tuning costs.
Provided by: Noteshub.co.in | Download Android App
Proprietary automated query generation insures predictable response times in the face of
common query optimizer weaknesses.
Provided by: Noteshub.co.in | Download Android App
INTRODUCTION
Database integrity refers to the validity and consistency of stored data. Integrity is
usually expressed in terms of constraints, which are consistency rules that the database
is not permitted to violate. Constraints may apply to each attribute or they may apply
to relationships between tables.
Integrity constraints ensure that changes (update deletion, insertion) made to the
database by authorized users do not result in a loss of data consistency. Thus, integrity
constraints guard against accidental damage to the database.
EXAMPLE- A brood group must be „A‟ or „B‟ or „AB‟ or „O‟ only (can not any other
values else).
2. Entity Integrity Constraint- This rule states that in any database relation value of
attribute of a primary key can't be null.
EXAMPLE- Consider a relation "STUDENT" Where "Stu_id" is a primary key and it must
not contain any null value whereas other attributes may contain null value e.g
"Branch" in the following relation contains one null value.
Provided by: Noteshub.co.in | Download Android App
1. You can't delete a record from a primary table if matching records exist in a related table.
2. You can't change a primary key value in the primary table if that record has related records.
3. You can't enter a value in the foreign key field of the related table that doesn't exist in the primary key of the
primary table.
4. However, you can enter a Null value in the foreign key, specifying that the records are unrelated.
EXAMPLE-Consider 2 relations "stu" and "stu_1" Where "Stu_id " is the primary key in the "stu" relation
and foreign key in the "stu_1" relation.
Provided by: Noteshub.co.in | Download Android App
Examples
Rule 1. You can't delete any of the rows in the ”stu” relation that are visible since all the ”stu” are in use in
the “stu_1” relation.
Rule 2. You can't change any of the ”Stu_id” in the “stu” relation since all the “Stu_id” are in use in the
”stu_1” relation.
Rule 3. The values that you can enter in the” Stu_id” field in the “stu_1” relation must be in the” Stu_id” field
in the “stu” relation.
Rule 4 You can enter a null value in the "stu_1" relation if the records are unrelated.
4.Key Constraints- A Key Constraint is a statement that a certain minimal subset of the fields of a
relation is a unique identifier for a tuple.
There are 4 types of key constraints-
1. Candidate key.
2. Super key
3. Primary key
4. Foreign key
Relational Algebra
Relational algebra is a procedural query language, which takes instances of
relations as input and yields instances of relations as output. It uses
operators to perform queries. An operator can be
Provided by: Noteshub.co.in | Download Android App
Select
Project
Union
Set different
Cartesian product
Rename
Notation − σp(r)
For example −
σsubject = "database"(Books)
Output − Selects tuples from books where subject is 'database' and 'price'
is 450.
Output − Selects tuples from books where subject is 'database' and 'price'
is 450 or those books published after 2010.
Provided by: Noteshub.co.in | Download Android App
For example −
Selects and projects columns named as subject and author from the
relation Books.
r ∪ s = { t | t ∈ r or t ∈ s}
Notation − r U s
Output − Projects the names of the authors who have either written a book
or an article or both.
Notation − r − s
Output − Provides the name of authors who have written books but not
articles.
Notation − r Χ s
r Χ s = { q t | q ∈ r and t ∈ s}
Output − Yields a relation, which shows all the books and articles written
by tutorialspoint.
Notation − ρ x (E)
Set intersection
Assignment
Natural join
Provided by: Noteshub.co.in | Download Android App
Database Architecture
Database architecture is logically divided into two types.
Two-tier Client / Server architecture is used for User Interface program and Application Programs
that runs on client side. An interface called ODBC(Open Database Connectivity) provides an API
that allow client side program to call the dbms. Most DBMS vendors provide ODBC drivers. A client
program may connect to several DBMS's. In this architecture some variation of client is also possible
for example in some DBMS's more functionality is transferred to the client including data dictionary,
optimization etc. Such clients are called Data server.
Three-tier Client / Server database architecture is commonly used architecture for web applications.
Intermediate layer called Application server or Web Server stores the web connectivty software
and the business logic(constraints) part of application used to access the right amount of data from
the database server. This layer acts like medium for sending partially processed data between the
database server and the client.
Example
Types of Inheritance:
Single Inheritance : A subclass derives from a single super-class.
UNIT 3 and 4
Provided by: Noteshub.co.in | Download Android App
Provided by: Noteshub.co.in | Download Android App
Provided by: Noteshub.co.in | Download Android App
Provided by: Noteshub.co.in | Download Android App
Provided by: Noteshub.co.in | Download Android App
What is a DTD?
A DTD is a Document Type Definition.
A DTD defines the structure and the legal elements and attributes of an XML
document.
<root>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="http://www.w3schools.com/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
Provided by: Noteshub.co.in | Download Android App
Provided by: Noteshub.co.in | Download Android App
It is used to store data securely; supporting best practices and allow retrieving them when
request is processed.
PostgreSQL is cross platform and runs on many operating systems such as Linux, FreeBSD,
OS X, Solaris, and Microsoft Windows etc.
Provided by: Noteshub.co.in | Download Android App
PostgreSQL Features
o PostgreSQL runs on all major operating systems i.e. Linux, UNIX (AIX, BSD, HP-UX,
SGI IRIX, Mac OS X, Solaris, Tru64), and Windows etc.
o PostgreSQL supports text, images, sounds, and video, and includes programming
interfaces for C / C++, Java, Perl, Python, Ruby, Tcl and Open Database Connectivity
(ODBC).
o PostgreSQL supports a lot of features of SQL like Complex SQL queries, SQL Sub-
selects, Foreign keys, Trigger, Views, Transactions, Multiversion concurrency control
(MVCC), Streaming Replication (as of 9.0), Hot Standby (as of 9.0).
o In PostgreSQL, table can be set to inherit their characteristics from a "parent" table.
There are mainly three types of datatypes in PotgreSQL. Besides this, users can also create
their own custom datatypes using CREATE TYPE SQL command.
o Numeric datatype
o String datatype
o Date/time datatype
Datatype Explanation
Monetary type:
Geometric Type:
Geometric data types represent two-dimensional spatial objects. The most fundamental
type, the point, forms the basis for all of the other types.
implemented)
Initially, IBM had developed DB2 product for their specific platform. Since year
1990, it decided to develop a Universal Database (UDB) DB2 Server, which can
run on any authoritative operating systems such as Linux, UNIX, and Windows.
Provided by: Noteshub.co.in | Download Android App
SQL Standards
Oracle strives to comply with industry-accepted standards and participates actively in SQL
standards committees. Industry-accepted committees are the American National Standards
Institute (ANSI) and the International Standards Organization (ISO), which is affiliated with the
International Electrotechnical Commission (IEC). Both ANSI and the ISO/IEC have accepted
SQL as the standard language for relational databases. When a new SQL standard is
simultaneously published by these organizations, the names of the standards conform to
conventions used by the organization, but the standards are technically identical.
The latest SQL standard was adopted in July 1999 and is often called SQL:99. The formal names
of this standard are:
The SQL:2003 standard makes minor modifications to all parts of SQL:1999 (also known as SQL3),
and officially introduces a few new features such as:[1]
What is XQuery?
XQuery Example
for $x in doc("books.xml")/bookstore/book
where $x/price>30
Provided by: Noteshub.co.in | Download Android App
order by $x/title
return $x/title
What is XPath?
XPath is a major element in the XSLT standard.
XPath
XPath standards for XML Path language. XPATH is a major element in XSLT. It is used for selection
and addressing elements and attributes in an XML document. It is basically a syntax used to describe
parts of an XML document. The root node is the XPath node that contains the entire document. The
root node also contains comments or processing instructions that are outside the document element.
Every element in the original XML document is represented by an XPath element node. At a
minimum, an element node is the parent of one attribute node for each attribute in the XML source
document. XPath is in fact a subset of XQuery.
XQuery
XQuery stands for XML query. It was designed to query collections of XML data. XQuery supports XPath
natively therefore it can do everything that XPath can do. It supplements this with a SQL-like
FLWOR(FOR, LET, WHERE, ORDER BY, RETURN) expression. Its capabilities overlap with XSLT.
XSLT was primarily conceived as a stylesheet language to render XML for the human reader on screen,
XQuery was conceived as a database query language.XSLT therefore is better in its handling of
narrative documents with more flexible structure, while XQuery is stronger in its data handling.
XPointer
Provided by: Noteshub.co.in | Download Android App
XPointer stands for XML Pointer language. The XPointer Framework is defined at
http://www.w3.org/TR/xptrframework/. It is closely related to XPath and uses XPath expressions to
find points inside parsed entities. It could be used to create a link from one document to an element
inside another. It is similar to fragment identifier in HTML but more versatile.
As you can see in the figure, java, .net or PHP applications can communicate with other
applications through web service over the network. For example, java application can
interact with Java, .Net and PHP applications. So web service is a language independent way
of communication.
SOAP is XML based protocol. It is platform independent and language independent. By using
SOAP, you will be able to interact with other programming language applications.
Language and Platform independent: SOAP web services can be written in any
programming language and executed in any platform.
WSDL dependent: SOAP uses WSDL and doesn't have any other mechanism to discover
the service.
WHAT IS WSDL?
The Web Services Description Language (WSDL /ˈwɪzdəl/) is an XML-based interface definition
language that is used for describing the functionality offered by a web service.
Provided by: Noteshub.co.in | Download Android App
Web services play a complementary and dominant role in building global IS for
today's dynamic business world. Web services are self-contained, modular
applications that can be described, published, located and invoked over a network.
Provided by: Noteshub.co.in | Download Android App