Each course is composed of several modules, where a module may be part of more than one course. A student enrolls on a course and every year takes a specified number of modules. Each attribute or method in a UML class becomes an attribute or operation of an ODL class with appropriate types.
Each course is composed of several modules, where a module may be part of more than one course. A student enrolls on a course and every year takes a specified number of modules. Each attribute or method in a UML class becomes an attribute or operation of an ODL class with appropriate types.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online from Scribd
Each course is composed of several modules, where a module may be part of more than one course. A student enrolls on a course and every year takes a specified number of modules. Each attribute or method in a UML class becomes an attribute or operation of an ODL class with appropriate types.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online from Scribd
IS) – Northumbria University has several academic departments. – Each department provides one or more courses. – Each course is composed of several modules, where a module may be part of more than one course. – A student enrolls on a course and every year takes a specified number of modules. Note that several students are usually registered for a course. – Every student is assigned a tutor at the start of the course, who is a lecturer in the department providing the course. – A lecturer works for a department and usually teaches on several modules. – Each module has a module tutor who is a lecturer. A lecturer may be a tutor of several modules. Class Diagram for UNN-IS Mapping Class Diagrams into ODL • At this stage, we are dealing with classes, attributes, and operations. – Different associations and inheritance will be covered next. • Mapping (general case) – Each UML class becomes an ODL class. – Each attribute or method in a UML class becomes an attribute or operation of an ODL class with appropriate types. – Specify a suitable extent name unless the class diagram explicitly indicates otherwise. – Specify a unique key if one or more attributes of a UML class are shown in bold or tagged with {PK}. – For a composite attribute, specify a structure literal type. University schema in ODL class Person { attribute string name; attribute string address; attribute date birthDate; short age(); }; class Lecturer extends Person (extent Lecturers) { attribute short room; relationship set<Student> tutees inverse Student::tutor; relationship Department worksFor inverse Department::staff; relationship set<Unit> teaches inverse Unit::taughtBy; boolean teachUnit(in Unit U); };
standard. • OQL is a superset of the SQL (in select- from-where clauses). • It can be interactive as well as embedded in other programming languages. • It is a declarative language. • OQL can invoke operations written in programming languages (C++, Java, Smalltalk). • OQL includes operators for creating collections, arithmetic and logical operators, aggregation, sorting and Retrieving Objects select l • The query returns all Lecturer from l in Lecturers objects who live in Newcastle. where l.address = The type of the query result is “Newcastle” bag<Person>.
or • Whenever the scope of an OQL
query is a collection (e.g. select l Lecturers, a set of Lecturer from Lecturers as l objects), we define an iterator where l.address = variable that ranges over the “Newcastle” collection (e.g. l in Lecturer). In the query l denotes an object of type or Lecturer.
select l from Lecturers l where l.address = “Newcastle” Database Entry Points
• Named objects are entry points
to the database (same as table or view names in RDBs). • Class extents are usually used to refer to in OQL queries. • Some frequently used objects can be assigned unique names e.g. ComMath a named Department object or AdvDB as named Unit object. Database Entry Points
• To use named objects, you don’t
have to write a query in select-from- where form. You can simply write: ComMath.staff • which returns all staff member objects in the school of computing and mathematics. Students • which returns a set of all Student objects in the database. Retrieving data from multiple objects • Without using Joins select struct(LName:l.name, DName:l.worksFor.name) from l in Lecturers – The query contains an implicit join based on the relationship that exists between Lecturer and Department object types and due to the path expression l.worksFor.name. However, the user does not need to tell the OQL compiler. • Using Joins select struct(LName:l.name, DName:d.name) from l in Lecturers, d in Departments where l.worksFor = d – Here the user explicitly tells that a join should be performed on the basis of matching OIDs
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The requested URL could not be retrieved</H2>
<HR noshade size="1px">
<P>
While trying to process the request:
<PRE>
TEXT http://www.scribd.com/titlecleaner?title=Unix+commands+reference+card.pdf HTTP/1.1
Host: www.scribd.com
Proxy-Connection: keep-alive
Accept: */*
Origin: http://www.scribd.com
X-CSRF-Token: 155fb7fa517a5becb07621cfee52141124ac069c
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36
X-Requested-With: XMLHttpRequest
Referer: http://www.scribd.com/upload-document?archive_doc=1249