<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Learn Software Development &#187; Language</title>
	<atom:link href="http://learnsoftwareprocesses.com/category/language/feed/" rel="self" type="application/rss+xml" />
	<link>http://learnsoftwareprocesses.com</link>
	<description>All about the processes involved in software development</description>
	<lastBuildDate>Sun, 20 May 2012 19:17:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Object Query Language (OQL)</title>
		<link>http://learnsoftwareprocesses.com/2009/09/14/object-query-language-oql/</link>
		<comments>http://learnsoftwareprocesses.com/2009/09/14/object-query-language-oql/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 11:26:17 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Object Oriented Databases]]></category>
		<category><![CDATA[Object Query Language]]></category>
		<category><![CDATA[OQL]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=355</guid>
		<description><![CDATA[<p>Object Query Language (OQL) is a query language standard for object-oriented databases modelled after SQL. OQL was developed by the Object Data Management Group (ODMG). Because of its overall complexity no vendor has ever fully implemented the complete OQL. OQL has influenced the design of some of the newer query languages like JDOQL and EJB [...]]]></description>
			<content:encoded><![CDATA[<p>Object Query Language (OQL) is a query language standard for object-oriented databases modelled after SQL. OQL was developed by the Object Data Management Group (ODMG). Because of its overall complexity no vendor has ever fully implemented the complete OQL. OQL has influenced the design of some of the newer query languages like JDOQL and EJB QL, but they can&#8217;t be considered as different flavours of OQL, and should be treated separately.</p>
<p>The key Differences Between OQL and SQL :<br />
- OQL supports object referencing within tables. Objects can be nested within objects.<br />
- Not all SQL keywords are supported within OQL. Keywords that are not relevant to Netcool/Precision IP have been removed from the syntax.<br />
- OQL can perform mathematical computations within OQL statements.</p>
<p>General Rules of OQL :<br />
- All complete statements must be terminated by a semi-colon.<br />
- A list of entries in OQL is usually separated by commas but not terminated by a comma.<br />
- Strings of text are enclosed by matching quotation marks.</p>
<p>OQL was designed to be object-oriented. Queries are specified using objects and their attributes (data-members). Similarly, queries return sets of objects. The complex relationships in an object model can be easily navigated, using the same class-member paradigm, used by object-oriented programming languages. This can often lead to increased performance over SQL, where resource-consuming join processes are necessary to capture relationships. Another big advantage is, that table names and column names are not necessary in the query strings, because queries are formulated using class names and attribute names and no mapping knowledge is necessary in the application.<br />
OQL may be used as an embedded language or as a standalone query language. Both of these are supported by OpenAccess. As an embedded language, OQL queries can be used directly in your application programs. Programs can embed OQL queries, and receive results in the native data types of the programming language being used. OQL statements are simply text strings, which means that the standard string representation of your programming language is used to express the query.</p>
<p>Simple query :<br />
The following example illustrates how one might retrieve the CPU-speed of all PCs with more than 64MB of RAM from a fictional PC database:<br />
SELECT pc.cpuspeed<br />
FROM PCs pc<br />
WHERE pc.ram > 64</p>
<p>Query with grouping and aggregation :<br />
The following example illustrates how one might retrieve the average amount of RAM on a PC, grouped by manufacturer:<br />
SELECT manufacturer, AVG(SELECT part.pc.ram FROM partition part)<br />
FROM PCs pc<br />
GROUP BY manufacturer: pc.manufacturer<br />
Note the use of the keyword partition, as opposed to aggregation in traditional SQL.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2009/09/14/object-query-language-oql/' addthis:title='Object Query Language (OQL) '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/09/14/object-query-language-oql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Object Definition language (ODL)</title>
		<link>http://learnsoftwareprocesses.com/2009/09/14/object-definition-language-odl/</link>
		<comments>http://learnsoftwareprocesses.com/2009/09/14/object-definition-language-odl/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 11:11:28 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Entity]]></category>
		<category><![CDATA[Entity Set]]></category>
		<category><![CDATA[ER diagram]]></category>
		<category><![CDATA[Object Definition Language]]></category>
		<category><![CDATA[ODL]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=353</guid>
		<description><![CDATA[<p>Object Definition Language (ODL) is the specification language defining the interface to object types conforming to the ODMG Object Model. Often abbreviated by the acronym ODL. This language&#8217;s purpose is to define the structure of an Entity-relationship diagram.</p> <p>- Class Declarations * interface < name > {elements = attributes, relationships,methods } - Element Declarations * [...]]]></description>
			<content:encoded><![CDATA[<p>Object Definition Language (ODL) is the specification language defining the interface to object types conforming to the ODMG Object Model. Often abbreviated by the acronym ODL.<br />
This language&#8217;s purpose is to define the structure of an Entity-relationship diagram.</p>
<p>- Class Declarations<br />
     * interface < name > {elements = attributes, relationships,methods }<br />
- Element Declarations<br />
     * attribute < type > < name >;<br />
     * relationship < rangetype >< name >;<br />
- Method Example<br />
     * float gpa(in: Student) raises(noGrades)<br />
         # float = return type.<br />
         # in: indicates Student argument is read-only.<br />
              Other options: out, inout.<br />
         # noGrades is an exception that can be raised by method gpa.</p>
<p>ODL Type System :<br />
- Basic types: int, real/ float, string, enumerated types, and classes.<br />
- Type constructors: Struct for structures and four collection types: Set, Bag, List, and<br />
Array.</p>
<p>ER versus ODL :<br />
- E/R: arrow pointing to &#8220;one&#8221;.<br />
- ODL: don&#8217;t use a collection type for relationship in the “many&#8221; class.<br />
    * Collection type remains in “one.”<br />
- E/R: arrows in both directions.<br />
- ODL: omit collection types in both directions.<br />
- ODL only supports binary relationship.<br />
- Convert multi-way relationships to binary and then represent in ODL.<br />
- Create a new connecting entity set to represent the rows in the relationship set.<br />
- Problems handling cardinality constraints properly!!</p>
<p>Keys in ODL :<br />
- Indicate with key(s) following the class name, and a list of attributes forming the key.<br />
   * Several lists may be used to indicate several alternative keys.<br />
   * Parentheses group members of a key, and also group key to the declared keys.<br />
   * Thus, (key(a1; a2; : : : ; an )) = “one key consisting of all n attributes.&#8221; (key a1; a2; : : : ; an ) =“each ai is a key by itself.<br />
- Keys are not necessary for ODL. Object identity and not keys differentiates objects</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2009/09/14/object-definition-language-odl/' addthis:title='Object Definition language (ODL) '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/09/14/object-definition-language-odl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Structured Query Language (SQL)</title>
		<link>http://learnsoftwareprocesses.com/2009/09/09/structured-query-language-sql/</link>
		<comments>http://learnsoftwareprocesses.com/2009/09/09/structured-query-language-sql/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 19:27:04 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL statements]]></category>
		<category><![CDATA[Structured Query language]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=339</guid>
		<description><![CDATA[<p>The structured query language (SQL) is the language used to query and manipulate information within a SQL Server database. SQL is actually an ISO and ANSI standardised language. However, a lot of RDBMS software use their own proprietary extensions within their own Transact-SQL (T-SQL) variant of SQL.</p> <p>The basic building block of the structured query [...]]]></description>
			<content:encoded><![CDATA[<p>The structured query language (SQL) is the language used to query and manipulate information within a SQL Server database. SQL is actually an ISO and ANSI standardised language. However, a lot of RDBMS software use their own proprietary extensions within their own Transact-SQL (T-SQL) variant of SQL.</p>
<p>The basic building block of the structured query language is the SQL statement. Using statements, information in a database can be manipulated and queried.<br />
    * CREATE &#8211; a data structure.<br />
    * SELECT &#8211; read one or more rows from a table.<br />
    * INSERT &#8211; one or more rows into a table.<br />
    * DELETE &#8211; one or more rows from a table.<br />
    * UPDATE &#8211; change the column values in a row.<br />
    * DROP   &#8211; a data structure.</p>
<p>Language Structure :<br />
SQL is a keyword based language. Each statement begins with a unique keyword. SQL statements consist of clauses which begin with a keyword. SQL syntax is not case sensitive.<br />
The other lexical elements of SQL statements are:<br />
* names &#8212; names of database elements: tables, columns, views, users, schemas; names must begin with a letter (a &#8211; z) and may contain digits (0 &#8211; 9) and underscore (_)<br />
* literals &#8212; quoted strings, numeric values, date time values.<br />
* delimiters &#8212; + &#8211; , ( ) = < > <= >= <> . * / || ? ;<br />
Basic database objects (tables, views) can optionally be qualified by schema name. A dot &#8212; &#8220;.&#8221;, separates qualifiers: schema-name . table-name<br />
Column names can be qualified by table name with optional schema qualification. </p>
<p>Syntax of Simple SELECT : SELECT column FROM tablename<br />
- Using &#8220;Where&#8221;<br />
SELECT EMPLOYEEIDNO<br />
FROM EMPLOYEESTATISTICSTABLE<br />
WHERE SALARY >= 50000;<br />
- Compound Conditions<br />
SELECT EMPLOYEEIDNO<br />
FROM EMPLOYEESTATISTICSTABLE<br />
WHERE SALARY < 40000 OR BENEFITS < 10000;<br />
- Using &#8220;IN&#8221;<br />
SELECT EMPLOYEEIDNO<br />
FROM EMPLOYEESTATISTICSTABLE<br />
WHERE POSITION IN (&#8216;Manager&#8217;, &#8216;Staff&#8217;);<br />
- Using &#8220;Between&#8221;<br />
SELECT EMPLOYEEIDNO<br />
FROM EMPLOYEESTATISTICSTABLE<br />
WHERE SALARY BETWEEN 30000 AND 50000;<br />
- Using &#8220;LIKE&#8221;<br />
SELECT EMPLOYEEIDNO<br />
FROM EMPLOYEEADDRESSTABLE<br />
WHERE LASTNAME LIKE &#8216;L%&#8217;;</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2009/09/09/structured-query-language-sql/' addthis:title='Structured Query Language (SQL) '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/09/09/structured-query-language-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Database (DBMS) Languages</title>
		<link>http://learnsoftwareprocesses.com/2009/08/06/database-dbms-languages/</link>
		<comments>http://learnsoftwareprocesses.com/2009/08/06/database-dbms-languages/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 06:36:35 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Data]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[DDL]]></category>
		<category><![CDATA[DML]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Schemas]]></category>
		<category><![CDATA[data definition language]]></category>
		<category><![CDATA[data manipulation language]]></category>
		<category><![CDATA[DBMS]]></category>
		<category><![CDATA[DBMS languages]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=283</guid>
		<description><![CDATA[<p>Once the design of the database is completed and a DBMS is chosen to implement the database, the next step is to define the conceptual and internal schema for the data and any mappings between the two. The languages that are used to do so are :</p> <p>• Data Definition Language (DDL): To specify the [...]]]></description>
			<content:encoded><![CDATA[<p>Once the design of the database is completed and a DBMS is chosen to implement the database, the next step is to define the conceptual and internal schema for the data and any mappings between the two. The languages that are used to do so are :</p>
<p>• Data Definition Language (DDL): To specify the conceptual schema of a database by the DBA and by database designers. In many DBMSs, the DDL is also used to define internal and external schemas (views).<br />
• In some DBMSs, separate storage definition language (SDL) are used to define internal and external schemas.<br />
The mappings between the two schemas may be specified in either one of these languages. For a true three-schema architecture, a third language is needed, the view definition language (VDL), to specify user views and their mappings to conceptual schema.</p>
<p>Once the database schemas are compiled and the database is populated with data, users must have some means to manipulate the data.<br />
• Data Manipulation Language (DML): Used to specify database retrievals and updates.<br />
• DML commands (data sublanguage) can be embedded in a general-purpose programming language (hostlanguage), such as COBOL, C or an Assembly Language.<br />
• Alternatively, stand-alone DML commands can be applied directly (query language).<br />
DMLs can be high level(set-oriented, nonprocedural) or low level)record-oriented, procedural). A high-level DML can be embedded in a host programming language, or it can be used as a stand-alone language; in the latter case it is often called as a query language.</p>
<p>In current DBMSs, a comprehensive integrated language is used that includes constructs for conceptual schema definition, view definition, and data manipulation. A typical example of a comprehensive database language is the SQL relational database language.<br />
Whenever DML commands are embedded in a general-purpose programming language, that language is called the host language and the DML is called the data sublanguage. </p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2009/08/06/database-dbms-languages/' addthis:title='Database (DBMS) Languages '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/08/06/database-dbms-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

