This report describes the design and implementation of a library management system database. The group used an entity-relationship model to design the database structure, which included entities for customers, media items, library locations, and other relevant objects. They then implemented the database using SQL to create tables and normalize the data. Sample data was also inserted. Finally, a graphical user interface was created using Java technologies to allow remote access to the system.
Analasoft Technologies is a fastest growing Website development and designing company in Tamilnadu India.
Our company is headquartered in conventional and rationalized Trichy, which is the fourth largest city in Tamilnadu We established the organization in the year 2011 with a team of efficient and technical experts. We offer tremendous and valuable Web development and designing services in Chennai,Perambalur,Tiruvannamalai,Mannargudi and Karur districts.
This document summarizes techniques for leveraging PHP projects through tools that enable easier project setup and deployment, improved testing, and greater code reuse through open source libraries and frameworks. It discusses tools for project management, dependency management, process supervision, configuration management, test data generation, social coding, and packaging libraries. The goal is to reduce maintenance overhead and encourage community collaboration on PHP projects.
The system COLLEGE TRANSPORT MANAGEMENT SYSTEM can be used to manage the data of all type of TRANSPORT MANAGEMENT. It will support both stand alone and also networking environment. The system uses ASP.Net Technology.
This document outlines requirements for a College Management System that allows staff and students to access and share information. The system would include modules for campus information, administration, departments, staff, and students. It would allow users to view and change profiles, attendance records, marks and more. The system is intended to be accessed via login and password on the college intranet. It would use HTML, Oracle database, Tomcat web server, and Java technologies. Future enhancements could include online exam modules and a facility for teachers to upload lecture videos. The goal of the system is to provide appropriate information to users and help reduce wasted time by centralizing college information and services.
This document provides a software requirements specification for a hostel management system. The system aims to automate hostel operations such as room allotment, bill generation, and maintaining student and employee records. This will help improve data reliability, reduce errors, and allow for faster data access and updating. The system will interface with users via a login screen and homepage. It will require hardware such as PCs and printers, and software such as Windows and Oracle database. The system functions will include maintaining information on residents, rooms, fees, and employees as well as searching, sorting, and retrieving data.
The document describes a proposed Hostel Management System (HMS) that would automate the manual processes currently used to manage a hostel. The key modules of the HMS would include application submission, admission, room allocation/shuffling, outpass management, fines/concessions, vacation requests, complaints, and viewing student details. The system is aimed at reducing costs, improving efficiency, and making the hostel management processes more user-friendly, interactive and easily accessible compared to the existing manual system.
This document describes a college management system that was developed to manage student, staff, and library information more efficiently. The system includes modules for admission processes, student and staff information, and library management. It aims to store records electronically and provide better access to knowledge resources. The developers sought to create a platform-independent, user-friendly interface to address issues with previous systems like slow performance and lack of key functionality. Diagrams are included that outline the login process, data flow, entity relationships and sample reports generated by the system.
This document describes an online book store project created using ASP.NET and SQL Server. It includes an introduction to .NET technologies, objectives to simulate an actual online book store and allow browsing/purchasing of books, requirements including minimum hardware/software specifications, screenshots of the home, contact, and admin login pages, and advantages like cost and time savings. The conclusion restates that the online book store allows customers to search, select, and purchase books online.
Analasoft Technologies is a fastest growing Website development and designing company in Tamilnadu India.
Our company is headquartered in conventional and rationalized Trichy, which is the fourth largest city in Tamilnadu We established the organization in the year 2011 with a team of efficient and technical experts. We offer tremendous and valuable Web development and designing services in Chennai,Perambalur,Tiruvannamalai,Mannargudi and Karur districts.
This document summarizes techniques for leveraging PHP projects through tools that enable easier project setup and deployment, improved testing, and greater code reuse through open source libraries and frameworks. It discusses tools for project management, dependency management, process supervision, configuration management, test data generation, social coding, and packaging libraries. The goal is to reduce maintenance overhead and encourage community collaboration on PHP projects.
The system COLLEGE TRANSPORT MANAGEMENT SYSTEM can be used to manage the data of all type of TRANSPORT MANAGEMENT. It will support both stand alone and also networking environment. The system uses ASP.Net Technology.
This document outlines requirements for a College Management System that allows staff and students to access and share information. The system would include modules for campus information, administration, departments, staff, and students. It would allow users to view and change profiles, attendance records, marks and more. The system is intended to be accessed via login and password on the college intranet. It would use HTML, Oracle database, Tomcat web server, and Java technologies. Future enhancements could include online exam modules and a facility for teachers to upload lecture videos. The goal of the system is to provide appropriate information to users and help reduce wasted time by centralizing college information and services.
This document provides a software requirements specification for a hostel management system. The system aims to automate hostel operations such as room allotment, bill generation, and maintaining student and employee records. This will help improve data reliability, reduce errors, and allow for faster data access and updating. The system will interface with users via a login screen and homepage. It will require hardware such as PCs and printers, and software such as Windows and Oracle database. The system functions will include maintaining information on residents, rooms, fees, and employees as well as searching, sorting, and retrieving data.
The document describes a proposed Hostel Management System (HMS) that would automate the manual processes currently used to manage a hostel. The key modules of the HMS would include application submission, admission, room allocation/shuffling, outpass management, fines/concessions, vacation requests, complaints, and viewing student details. The system is aimed at reducing costs, improving efficiency, and making the hostel management processes more user-friendly, interactive and easily accessible compared to the existing manual system.
This document describes a college management system that was developed to manage student, staff, and library information more efficiently. The system includes modules for admission processes, student and staff information, and library management. It aims to store records electronically and provide better access to knowledge resources. The developers sought to create a platform-independent, user-friendly interface to address issues with previous systems like slow performance and lack of key functionality. Diagrams are included that outline the login process, data flow, entity relationships and sample reports generated by the system.
This document describes an online book store project created using ASP.NET and SQL Server. It includes an introduction to .NET technologies, objectives to simulate an actual online book store and allow browsing/purchasing of books, requirements including minimum hardware/software specifications, screenshots of the home, contact, and admin login pages, and advantages like cost and time savings. The conclusion restates that the online book store allows customers to search, select, and purchase books online.
This document provides an overview of an online book store system project. It includes sections on the definition, project profile, feasibility report, key features, risk analysis, data flow diagram, entity relationship diagram, flow chart, data dictionary, screen shots, and modules. The modules covered include home, shopping cart, admin, user, help, and contact us. It also includes documentation on the tools and technologies used such as ASP.Net and SQL Server, as well as screen shots of the user interface.
The document describes a College Management System that aims to automate all functions of a college and provide detailed reports to management. It allows easy manipulation of student and staff data. The system provides a structure for the college campus and departments, synchronizing their work. It manages student, faculty, department, marks, and extracurricular activity data. The system uses modules for login, forms, reports and a graphical user interface. Forms are used to register students, enter fees, marks, IDs, employee details and salaries. Reports provide filtered student, employee, course and other data.
This document provides an overview of a college management system software project created by a group of students. The objective is to develop a graphical user interface based software that is platform independent, user friendly, and can manage all aspects of a college. It aims to overcome issues with existing college management software like platform dependency, data redundancy, slow execution, and security threats. The proposed software would include modules for accounts, academics, training and placement, exams, library, laboratories, hostels, cafeterias, transportation, and culture. It would use a relational database to reduce data redundancy and Java for platform independence. The document describes the requirements and provides an entity relationship diagram and data flow diagram of the system.
This documentation have all the details about school management system, even in this document have DFD,ERD,FDD digram that are useful to create database. to get more details about this product plz mail me on (aki_string@yahoo.co.in) thanks.....
The document describes a presentation for a school management system created by Soumya Subhadarshi Behera. The presentation includes an introduction, motivation, and system development sections. It provides background on the need for a school management system to efficiently manage student, employee, academic and other administrative data. It then covers the goals and components involved in developing the software system, including using Visual Basic 6.0 for the front end and Oracle for the back end database.
The document describes a student management system created by a group of students. The system allows authorized users to access academic records of registered students and simplifies operations for educational institutions. It handles student details like personal information, course and college details, and academic records. The system was developed to automate a manual student management process and reduce costs and errors compared to the previous system. It has functionalities like creating, deleting, updating, and searching student records.
Database concepts such as data, information, fields, records, files and database models including flat, hierarchical and network models were discussed. Database architecture including schemas, instances, languages and interfaces were also covered.
A DVD rental database was provided as a real-life example to demonstrate database concepts and architecture.
A short quiz concluded the summary to test understanding of key terms introduced in the document.
This portfolio contains examples of Reynaldo Fadri's work with MS SQL Server during a 13-week training program. It includes databases and projects on book sales, a library system, banking transactions, database administration, and a movie rental system. The portfolio demonstrates skills in areas like database design, queries, stored procedures, reporting, and high availability solutions. Reynaldo has over 15 years of IT experience and is looking for a role as a SQL Database Administrator.
MIS407-1 Portfolio Project Jerrod Rodgers w metadataJerrod Rodgers
1) The document describes a portfolio project that involves creating a database for a video rental store called "MomandPopJohnsonVideoStore".
2) Key entities identified include customers, movies, transactions, DVDs, VHS tapes, directors, actors, and actresses. Relationships between entities are defined using entity relationship sentence pairs.
3) Bridge entities like transaction line items are created to resolve many-to-many relationships between entities like movies and actors.
This portfolio contains examples of SQL Server development work done during a 13-week training program, including projects on book sales, a library database, banking operations, and more. Stored procedures, triggers, SSIS packages, and SSRS reports were created. The final group project implemented a movie rental database with high availability solutions.
This portfolio contains examples of SQL Server skills developed through coursework and projects in a SQL Server training program. It includes databases and queries developed for bookstore, library, banking, and movie rental applications. It also includes examples of database administration tasks, SSIS packages, SSRS reports, and a final group project implementing various SQL Server features for an online movie rental business.
- The document discusses an internship report on iOS technology. The intern installed Xcode 6.4 and learned Objective-C programming. They built an iOS application using Xcode and gathered requirements from the design team. They also worked on product documentation.
An InfoCube contains integrated data from multiple sources and is optimized for analysis. It contains dimensions such as material, time, and sales organization, and key figures like sales quantity, revenue, and discount. An InfoCube allows users to analyze relationships between different data points for better business decisions.
The document describes a movie database project created by Team Pearl. The database allows users to search information about movies, directors, genres and theaters. It includes data on movie showtimes, theater locations and contact information. The database was designed with functional areas for movies, theaters, awards and ratings. Entities and attributes were defined in the logical design. The physical database design was then implemented using SQL statements to create the database structure based on the logical model.
The document outlines the scope and design of a library management system. It includes sections on project purpose, scope, assumptions, functionality, specific requirements, tools/platform, resources used, design specification including entity relationship and data flow diagrams, database structure, module description, process logic, types of reports, and future scope. The system is intended to automate processes like membership registration, book issuing/returning, tracking book inventory and member records. It will leverage ASP.NET and SQL Server for development.
This document outlines Bing Zheng's portfolio of SQL projects including databases created for a book company (JungleBooks), library, bank (PiggyBank), and video rental store (BlockFlix). For each project, database diagrams and sample queries or reports are shown. The portfolio also includes an SSIS/SSRS project to import and report on data and describes the BlockFlix final group project implementing various database and reporting features.
3.Implementation with NOSQL databases Document Databases (Mongodb).pptxRushikeshChikane2
this Chapter gives information about Document Based Database and Graph based Database. It gives their basic structures, Features,applications ,Limitations and use cases
Targeted Marketing: How Marketing Companies can use Big Data to Target Custom...Ray Février
This presentation will show how an outdoor advertising company used the Oracle Big Data environment to provide real time statistics and high-value insights to their customers. Using data from providers such as Pinsight Media and Perconix data from Axciom, they are able to accurately show the demographics of the consumers in the viewshed of their billboards and other digital assets. With the need to get useful information out of the terabyte of data they were receiving, our client use Oracle BDCS, specifically, Hive to create external tables connecting to flat files or MongoDB and Impala to analyze the data. The data was then loaded into Oracle DBCS for to be accessed by OACS for further analysis and dashboarding.
This document discusses data-oriented programming (DOP) in Java. DOP focuses on separating data and code to decrease complexity compared to object-oriented programming (OOP). The document explains how OOP can increase complexity, the principles of DOP including separating immutable data from code, and ways to implement DOP in Java, such as using immutable classes annotated with @value or Java records to represent data entities independently of code.
The document discusses different types of NoSQL databases including key-value stores like Memcached and Redis, document databases like Couchbase and MongoDB, column-oriented databases like Cassandra, and graph databases like Neo4j. It explains the basic data models and architectures of each type of NoSQL database. NoSQL databases provide more flexible schemas and better horizontal scalability than traditional relational databases.
The document discusses data modeling and provides details about the data modeling process. It defines data modeling as the process of creating a data model for an information system by applying formal modeling techniques to define data requirements to support business processes. The document outlines three types of data models - conceptual, logical, and physical - and describes what each contains. It also provides an example entity relationship diagram and explains the key components and relationships. Finally, it discusses the importance and significance of data modeling for managing data as a resource and establishing communication across an organization.
This document provides an overview of an online book store system project. It includes sections on the definition, project profile, feasibility report, key features, risk analysis, data flow diagram, entity relationship diagram, flow chart, data dictionary, screen shots, and modules. The modules covered include home, shopping cart, admin, user, help, and contact us. It also includes documentation on the tools and technologies used such as ASP.Net and SQL Server, as well as screen shots of the user interface.
The document describes a College Management System that aims to automate all functions of a college and provide detailed reports to management. It allows easy manipulation of student and staff data. The system provides a structure for the college campus and departments, synchronizing their work. It manages student, faculty, department, marks, and extracurricular activity data. The system uses modules for login, forms, reports and a graphical user interface. Forms are used to register students, enter fees, marks, IDs, employee details and salaries. Reports provide filtered student, employee, course and other data.
This document provides an overview of a college management system software project created by a group of students. The objective is to develop a graphical user interface based software that is platform independent, user friendly, and can manage all aspects of a college. It aims to overcome issues with existing college management software like platform dependency, data redundancy, slow execution, and security threats. The proposed software would include modules for accounts, academics, training and placement, exams, library, laboratories, hostels, cafeterias, transportation, and culture. It would use a relational database to reduce data redundancy and Java for platform independence. The document describes the requirements and provides an entity relationship diagram and data flow diagram of the system.
This documentation have all the details about school management system, even in this document have DFD,ERD,FDD digram that are useful to create database. to get more details about this product plz mail me on (aki_string@yahoo.co.in) thanks.....
The document describes a presentation for a school management system created by Soumya Subhadarshi Behera. The presentation includes an introduction, motivation, and system development sections. It provides background on the need for a school management system to efficiently manage student, employee, academic and other administrative data. It then covers the goals and components involved in developing the software system, including using Visual Basic 6.0 for the front end and Oracle for the back end database.
The document describes a student management system created by a group of students. The system allows authorized users to access academic records of registered students and simplifies operations for educational institutions. It handles student details like personal information, course and college details, and academic records. The system was developed to automate a manual student management process and reduce costs and errors compared to the previous system. It has functionalities like creating, deleting, updating, and searching student records.
Database concepts such as data, information, fields, records, files and database models including flat, hierarchical and network models were discussed. Database architecture including schemas, instances, languages and interfaces were also covered.
A DVD rental database was provided as a real-life example to demonstrate database concepts and architecture.
A short quiz concluded the summary to test understanding of key terms introduced in the document.
This portfolio contains examples of Reynaldo Fadri's work with MS SQL Server during a 13-week training program. It includes databases and projects on book sales, a library system, banking transactions, database administration, and a movie rental system. The portfolio demonstrates skills in areas like database design, queries, stored procedures, reporting, and high availability solutions. Reynaldo has over 15 years of IT experience and is looking for a role as a SQL Database Administrator.
MIS407-1 Portfolio Project Jerrod Rodgers w metadataJerrod Rodgers
1) The document describes a portfolio project that involves creating a database for a video rental store called "MomandPopJohnsonVideoStore".
2) Key entities identified include customers, movies, transactions, DVDs, VHS tapes, directors, actors, and actresses. Relationships between entities are defined using entity relationship sentence pairs.
3) Bridge entities like transaction line items are created to resolve many-to-many relationships between entities like movies and actors.
This portfolio contains examples of SQL Server development work done during a 13-week training program, including projects on book sales, a library database, banking operations, and more. Stored procedures, triggers, SSIS packages, and SSRS reports were created. The final group project implemented a movie rental database with high availability solutions.
This portfolio contains examples of SQL Server skills developed through coursework and projects in a SQL Server training program. It includes databases and queries developed for bookstore, library, banking, and movie rental applications. It also includes examples of database administration tasks, SSIS packages, SSRS reports, and a final group project implementing various SQL Server features for an online movie rental business.
- The document discusses an internship report on iOS technology. The intern installed Xcode 6.4 and learned Objective-C programming. They built an iOS application using Xcode and gathered requirements from the design team. They also worked on product documentation.
An InfoCube contains integrated data from multiple sources and is optimized for analysis. It contains dimensions such as material, time, and sales organization, and key figures like sales quantity, revenue, and discount. An InfoCube allows users to analyze relationships between different data points for better business decisions.
The document describes a movie database project created by Team Pearl. The database allows users to search information about movies, directors, genres and theaters. It includes data on movie showtimes, theater locations and contact information. The database was designed with functional areas for movies, theaters, awards and ratings. Entities and attributes were defined in the logical design. The physical database design was then implemented using SQL statements to create the database structure based on the logical model.
The document outlines the scope and design of a library management system. It includes sections on project purpose, scope, assumptions, functionality, specific requirements, tools/platform, resources used, design specification including entity relationship and data flow diagrams, database structure, module description, process logic, types of reports, and future scope. The system is intended to automate processes like membership registration, book issuing/returning, tracking book inventory and member records. It will leverage ASP.NET and SQL Server for development.
This document outlines Bing Zheng's portfolio of SQL projects including databases created for a book company (JungleBooks), library, bank (PiggyBank), and video rental store (BlockFlix). For each project, database diagrams and sample queries or reports are shown. The portfolio also includes an SSIS/SSRS project to import and report on data and describes the BlockFlix final group project implementing various database and reporting features.
3.Implementation with NOSQL databases Document Databases (Mongodb).pptxRushikeshChikane2
this Chapter gives information about Document Based Database and Graph based Database. It gives their basic structures, Features,applications ,Limitations and use cases
Targeted Marketing: How Marketing Companies can use Big Data to Target Custom...Ray Février
This presentation will show how an outdoor advertising company used the Oracle Big Data environment to provide real time statistics and high-value insights to their customers. Using data from providers such as Pinsight Media and Perconix data from Axciom, they are able to accurately show the demographics of the consumers in the viewshed of their billboards and other digital assets. With the need to get useful information out of the terabyte of data they were receiving, our client use Oracle BDCS, specifically, Hive to create external tables connecting to flat files or MongoDB and Impala to analyze the data. The data was then loaded into Oracle DBCS for to be accessed by OACS for further analysis and dashboarding.
This document discusses data-oriented programming (DOP) in Java. DOP focuses on separating data and code to decrease complexity compared to object-oriented programming (OOP). The document explains how OOP can increase complexity, the principles of DOP including separating immutable data from code, and ways to implement DOP in Java, such as using immutable classes annotated with @value or Java records to represent data entities independently of code.
The document discusses different types of NoSQL databases including key-value stores like Memcached and Redis, document databases like Couchbase and MongoDB, column-oriented databases like Cassandra, and graph databases like Neo4j. It explains the basic data models and architectures of each type of NoSQL database. NoSQL databases provide more flexible schemas and better horizontal scalability than traditional relational databases.
The document discusses data modeling and provides details about the data modeling process. It defines data modeling as the process of creating a data model for an information system by applying formal modeling techniques to define data requirements to support business processes. The document outlines three types of data models - conceptual, logical, and physical - and describes what each contains. It also provides an example entity relationship diagram and explains the key components and relationships. Finally, it discusses the importance and significance of data modeling for managing data as a resource and establishing communication across an organization.
ENHANCING THE PERFORMANCE OF E-COMMERCE SOLUTIONS BY FRIENDS RECOMMENDATION S...IJCI JOURNAL
In the past, selling needs brick and mortar store and it is limited to a local customer base. But today, ecommerce
websites make it easy for the customers around the world to shop by virtual store. Performance of ecommerce
websites depend not only the quality and price of the product but also the customer centric suggestions about the
product and services and retrieval speed of websites. There is more possibility to buy a product brand suggested by
friends or relatives than by viewing commends from unknown people. We can implement such a customer centric
approach using Neo4j database, which provides easy and fast retrieval of information based on multiple customer
attributes and relations than relational databases. Experiment shows the enhancement of performance in terms of
time and complexity
The purpose of this project is to analyze the book reviews and ratings based on the service provider. The project is primarily based on Data warehouse implementation and BI queries for Analysis for Online Book Reviews collected from Amazon, Goodreads & Bookcrossing and Twitter
This document discusses conceptual data modeling using the entity-relationship (ER) model. It defines key concepts of the ER model including entities, attributes, relationships, entity sets, relationship sets, keys, and ER diagrams. It explains how the ER model is used in the early conceptual design phase of database design to capture the essential data requirements and produce a conceptual schema that can be later mapped to a logical and physical database implementation.
The document provides an overview of database systems and their components. It discusses:
- The purpose of database systems is to provide solutions to problems with using file systems like data redundancy, difficulty of accessing data, and lack of integrity and security.
- Database systems include a collection of interrelated data, a set of programs to access the data called a database management system (DBMS), and database applications in domains like banking, airlines, education and more.
- Key components of database systems include data models, data definition and manipulation languages, transaction management, storage management, database administrators, and database users. The overall system has physical, logical and view levels of abstraction.
The document provides definitions and explanations of key concepts in database management systems. It discusses:
- The purpose of a DBMS is to solve problems with file processing systems like data redundancy, inconsistency, difficult data access and isolation, and integrity and concurrency issues.
- Data abstraction and levels of abstraction hide complexity from users through physical, logical, and view levels.
- A DBMS provides an environment for convenient and efficient data retrieval and storage.
- Data independence allows changes to schema definitions without affecting other levels.
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.pptHenry Hollis
The History of NZ 1870-1900.
Making of a Nation.
From the NZ Wars to Liberals,
Richard Seddon, George Grey,
Social Laboratory, New Zealand,
Confiscations, Kotahitanga, Kingitanga, Parliament, Suffrage, Repudiation, Economic Change, Agriculture, Gold Mining, Timber, Flax, Sheep, Dairying,
This document provides an overview of wound healing, its functions, stages, mechanisms, factors affecting it, and complications.
A wound is a break in the integrity of the skin or tissues, which may be associated with disruption of the structure and function.
Healing is the body’s response to injury in an attempt to restore normal structure and functions.
Healing can occur in two ways: Regeneration and Repair
There are 4 phases of wound healing: hemostasis, inflammation, proliferation, and remodeling. This document also describes the mechanism of wound healing. Factors that affect healing include infection, uncontrolled diabetes, poor nutrition, age, anemia, the presence of foreign bodies, etc.
Complications of wound healing like infection, hyperpigmentation of scar, contractures, and keloid formation.
A Visual Guide to 1 Samuel | A Tale of Two HeartsSteve Thomason
These slides walk through the story of 1 Samuel. Samuel is the last judge of Israel. The people reject God and want a king. Saul is anointed as the first king, but he is not a good king. David, the shepherd boy is anointed and Saul is envious of him. David shows honor while Saul continues to self destruct.
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPRAHUL
This Dissertation explores the particular circumstances of Mirzapur, a region located in the
core of India. Mirzapur, with its varied terrains and abundant biodiversity, offers an optimal
environment for investigating the changes in vegetation cover dynamics. Our study utilizes
advanced technologies such as GIS (Geographic Information Systems) and Remote sensing to
analyze the transformations that have taken place over the course of a decade.
The complex relationship between human activities and the environment has been the focus
of extensive research and worry. As the global community grapples with swift urbanization,
population expansion, and economic progress, the effects on natural ecosystems are becoming
more evident. A crucial element of this impact is the alteration of vegetation cover, which plays a
significant role in maintaining the ecological equilibrium of our planet.Land serves as the foundation for all human activities and provides the necessary materials for
these activities. As the most crucial natural resource, its utilization by humans results in different
'Land uses,' which are determined by both human activities and the physical characteristics of the
land.
The utilization of land is impacted by human needs and environmental factors. In countries
like India, rapid population growth and the emphasis on extensive resource exploitation can lead
to significant land degradation, adversely affecting the region's land cover.
Therefore, human intervention has significantly influenced land use patterns over many
centuries, evolving its structure over time and space. In the present era, these changes have
accelerated due to factors such as agriculture and urbanization. Information regarding land use and
cover is essential for various planning and management tasks related to the Earth's surface,
providing crucial environmental data for scientific, resource management, policy purposes, and
diverse human activities.
Accurate understanding of land use and cover is imperative for the development planning
of any area. Consequently, a wide range of professionals, including earth system scientists, land
and water managers, and urban planners, are interested in obtaining data on land use and cover
changes, conversion trends, and other related patterns. The spatial dimensions of land use and
cover support policymakers and scientists in making well-informed decisions, as alterations in
these patterns indicate shifts in economic and social conditions. Monitoring such changes with the
help of Advanced technologies like Remote Sensing and Geographic Information Systems is
crucial for coordinated efforts across different administrative levels. Advanced technologies like
Remote Sensing and Geographic Information Systems
9
Changes in vegetation cover refer to variations in the distribution, composition, and overall
structure of plant communities across different temporal and spatial scales. These changes can
occur natural.
Chapter wise All Notes of First year Basic Civil Engineering.pptxDenish Jangid
Chapter wise All Notes of First year Basic Civil Engineering
Syllabus
Chapter-1
Introduction to objective, scope and outcome the subject
Chapter 2
Introduction: Scope and Specialization of Civil Engineering, Role of civil Engineer in Society, Impact of infrastructural development on economy of country.
Chapter 3
Surveying: Object Principles & Types of Surveying; Site Plans, Plans & Maps; Scales & Unit of different Measurements.
Linear Measurements: Instruments used. Linear Measurement by Tape, Ranging out Survey Lines and overcoming Obstructions; Measurements on sloping ground; Tape corrections, conventional symbols. Angular Measurements: Instruments used; Introduction to Compass Surveying, Bearings and Longitude & Latitude of a Line, Introduction to total station.
Levelling: Instrument used Object of levelling, Methods of levelling in brief, and Contour maps.
Chapter 4
Buildings: Selection of site for Buildings, Layout of Building Plan, Types of buildings, Plinth area, carpet area, floor space index, Introduction to building byelaws, concept of sun light & ventilation. Components of Buildings & their functions, Basic concept of R.C.C., Introduction to types of foundation
Chapter 5
Transportation: Introduction to Transportation Engineering; Traffic and Road Safety: Types and Characteristics of Various Modes of Transportation; Various Road Traffic Signs, Causes of Accidents and Road Safety Measures.
Chapter 6
Environmental Engineering: Environmental Pollution, Environmental Acts and Regulations, Functional Concepts of Ecology, Basics of Species, Biodiversity, Ecosystem, Hydrological Cycle; Chemical Cycles: Carbon, Nitrogen & Phosphorus; Energy Flow in Ecosystems.
Water Pollution: Water Quality standards, Introduction to Treatment & Disposal of Waste Water. Reuse and Saving of Water, Rain Water Harvesting. Solid Waste Management: Classification of Solid Waste, Collection, Transportation and Disposal of Solid. Recycling of Solid Waste: Energy Recovery, Sanitary Landfill, On-Site Sanitation. Air & Noise Pollution: Primary and Secondary air pollutants, Harmful effects of Air Pollution, Control of Air Pollution. . Noise Pollution Harmful Effects of noise pollution, control of noise pollution, Global warming & Climate Change, Ozone depletion, Greenhouse effect
Text Books:
1. Palancharmy, Basic Civil Engineering, McGraw Hill publishers.
2. Satheesh Gopi, Basic Civil Engineering, Pearson Publishers.
3. Ketki Rangwala Dalal, Essentials of Civil Engineering, Charotar Publishing House.
4. BCP, Surveying volume 1
Temple of Asclepius in Thrace. Excavation resultsKrassimira Luka
The temple and the sanctuary around were dedicated to Asklepios Zmidrenus. This name has been known since 1875 when an inscription dedicated to him was discovered in Rome. The inscription is dated in 227 AD and was left by soldiers originating from the city of Philippopolis (modern Plovdiv).
How to Make a Field Mandatory in Odoo 17Celine George
In Odoo, making a field required can be done through both Python code and XML views. When you set the required attribute to True in Python code, it makes the field required across all views where it's used. Conversely, when you set the required attribute in XML views, it makes the field required only in the context of that particular view.
SWOT analysis in the project Keeping the Memory @live.pptx
Report Final
1. LIBRARY MANAGEMENT SYSTEM:
DESIGN AND IMPLEMENTATION
Prepared for: Cynthia Xin Zhang, Instructor
ITCS 3160 - 001
Prepared by: Group 4
Darren Adams
Sergey Begun
Andrew Fail
Shawn Haigler
Franklin Lee
April 18, 2007
2. ii
ABSTRACT
This report describes our group's implementation of a library
management system. We used the Entity-Relationship model to design
a database that will store and organize the library's data. We have
created the database using SQL and populated it with some sample
data. The system can keep track of library cards, customers,
librarians, library locations, books, videos, and the relationships
between them. Using Java Server Pages, servlets, and JDBC, we have
created an Internet-based graphical user interface that allows
customers and librarians to access the system remotely.
3. iii
LIST OF ILLUSTRATIONS
Figures
Figure 1: ER Diagram................................................................ 4
Tables
Table 1: Relational Database Schema.......................................... 6
4. TABLE OF CONTENTS
Abstract................................................................................. ii
List of Illustrations................................................................ iii
Introduction.......................................................................... 1
Requirement Analysis............................................................ 2
ER Design.............................................................................. 4
Relational Database Design.................................................... 6
Normalization........................................................................ 8
Physical Database Design...................................................... 9
GUI Design............................................................................ 13
Conclusions and Future Work................................................. 19
Appendices............................................................................ 20
A. ER Diagram............................................................. 20
B. Website Layout........................................................ 21
5. 1
INTRODUCTION
This report will provide a detailed account of the processes our group
used to design and implement a database that can be used to manage
a library system. Each subsection of the report corresponds to an
important feature of database design.
6. 2
REQUIREMENT ANALYSIS
A library database needs to store information pertaining to its users
(or customers), its workers, the physical locations of its branches, and
the media stored in those locations. We have decided to limit the
media to two types: books and videos.
The library must keep track of the status of each media item: its
location, status, descriptive attributes, and cost for losses and late
returns. Books will be identified by their ISBN, and movies by their
title and year. In order to allow multiple copies of the same book or
video, each media item will have a unique ID number.
Customers will provide their name, address, phone number, and date
of birth when signing up for a library card. They will then be assigned
a unique user name and ID number, plus a temporary password that
will have to be changed. Checkout operations will require a library
card, as will requests to put media on hold. Each library card will have
its own fines, but active fines on any of a customer's cards will prevent
the customer from using the library's services.
The library will have branches in various physical locations. Branches
will be identified by name, and each branch will have an address and a
phone number associated with it. Additionally, a library branch will
store media and have employees.
Employees will work at a specific branch of the library. They receive a
paycheck, but they can also have library cards; therefore, the same
information that is collected about customers should be collected about
employees.
Functions for customers:
● Log in
● Search for media based on one or more of the following criteria:
○ type (book, video, or both)
○ title
7. 3
○ author or director
○ year
● Access their own account information:
○ Card number(s)
○ Fines
○ Media currently checked out
○ Media on hold
● Put media on hold
● Pay fines for lost or late items
● Update personal information:
○ Phone numbers
○ Addresses
○ Passwords
Functions for librarians are the same as the functions for customers
plus the following:
● Add customers
● Add library cards and assign them to customers
● Check out media
● Manage and transfer media that is currently on hold
● Handle returns
● Modify customers' fines
● Add media to the database
● Remove media from the database
● Receive payments from customers and update the customers'
fines
● View all customer information except passwords
8. 4
ER DESIGN
It is clear that the physical objects from the previous section – the
customers, employees, cards, media, and library branches –
correspond to entities in the Entity-Relationship model, and the
operations to be done on those entities – holds, checkouts, and so on
– correspond to relationships. However, a good design will minimize
redundancy and attempt to store all the required information in as
small a space as possible. After some consideration, we have decided
on the following design:
Figure 1: ER Diagram
Refer to Appendix A for a zoomed-in view.
Notice that the information about books and videos has been
separated from the Media entity. This allows the database to store
multiple copies of the same item without redundancy. The Status
entity has also been separated from Media in order to save space. The
9. 5
Hold relationship stores the entry's place in line (denoted by "queue");
it can be used to create a waiting list of interested customers. The
Librarian entity is functionally an extension to Customer, so each
Librarian also has a customer associated with it. The librarians will
have access to the same features as customers, but they will also
perform administrative functions, such as checking media in and out
and updating customers' fines.
10. 6
RELATIONAL DATABASE DESIGN
After coming up with an Entity-Relationship model to describe the
library system, we took advantage of the special relationships found in
our design, and were able to condense the information to 13 tables.
This new design is a database that combines some entities and
relationships into common tables.
Table 1: Relational Database Schema
Status code desctiption
↓
Media media_id code
Book ISBN title author year dewey price
↓ ↓
BookMedia media_id ISBN
Customer ID name addr DOB phone username password
↓
Card num fines ID
↓ ↓
Checkout media_id num since until
Location name addr phone
↓ ↓ ↓
Hold media_id num name until queue
↓ ↓
Stored_In media_id name
↓ ↓
Librarian eid ID Pay name since
Video title year director rating price
↓ ↓ ↓
VideoMedia media_id title year
12. 8
NORMALIZATION
As stated earlier, the tables in this database are in the Third Normal
Form (3 NF.) In order to decompose the relationships into this form,
we had to split Status table from the Media table. Each Media object
has a status code, and each status code has an associated description.
It would be redundant to store both codes and descriptions in the
Media object, so we created a dedicated Status table with the code as
the primary key.
The other tables were designed with optimization in mind. The Card
entity, for instance, was separated from the Customer entity to avoid a
functional dependency (since the "num" attribute of the Card entity
determines the "fines" attribute.)
13. 9
PHYSICAL DATABASE DESIGN
The next step was to create the physical database and input some
sample data. In order to turn the relational design into a database, we
ran the following script in UNCC's Oracle database:
CREATE TABLE Status ( code INTEGER, description CHAR(30), PRIMARY KEY (code) );
CREATE TABLE Media( media_id INTEGER, code INTEGER, PRIMARY KEY (media_id),
FOREIGN KEY (code) REFERENCES Status );
CREATE TABLE Book(ISBNCHAR(14), title CHAR(128), author CHAR(64),
year INTEGER, dewey INTEGER, price REAL, PRIMARY KEY (ISBN) );
CREATE TABLE BookMedia( media_id INTEGER, ISBN CHAR(14), PRIMARY KEY (media_id),
FOREIGN KEY (media_id) REFERENCES Media,
FOREIGN KEY (ISBN) REFERENCES Book);
CREATE TABLE Customer( ID INTEGER, name CHAR(64), addr CHAR(256), DOB CHAR(10),
phone CHAR(30), username CHAR(16), password CHAR(32), PRIMARY KEY (ID),
UNIQUE (username) );
CREATE TABLE Card( num INTEGER, fines REAL, ID INTEGER, PRIMARY KEY (num),
FOREIGN KEY (ID) REFERENCES Customer );
CREATE TABLE Checkout( media_id INTEGER, num INTEGER, since CHAR(10),
until CHAR(10), PRIMARY KEY (media_id),
FOREIGN KEY (media_id) REFERENCES Media,
FOREIGN KEY (num) REFERENCES Card );
CREATE TABLE Location( name CHAR(64), addr CHAR(256), phone CHAR(30),
PRIMARY KEY (name) );
CREATE TABLE Hold( media_id INTEGER, num INTEGER, name CHAR(64), until CHAR(10),
queue INTEGER, PRIMARY KEY (media_id, num),
FOREIGN KEY (name) REFERENCES Location,
FOREIGN KEY (num) REFERENCES Card,
FOREIGN KEY (media_id) REFERENCES Media );
CREATE TABLE Stored_In( media_id INTEGER, name char(64), PRIMARY KEY (media_id),
FOREIGN KEY (media_id) REFERENCES Media ON DELETE CASCADE,
FOREIGN KEY (name) REFERENCES Location );
CREATE TABLE Librarian( eid INTEGER, ID INTEGER NOT NULL, Pay REAL,
Loc_name CHAR(64) NOT NULL, PRIMARY KEY (eid),
FOREIGN KEY (ID) REFERENCES Customer ON DELETE CASCADE,
FOREIGN KEY (Loc_name) REFERENCES Location(name) );
CREATE TABLE Video( title CHAR(128), year INTEGER, director CHAR(64),
rating REAL, price REAL, PRIMARY KEY (title, year) );
CREATE TABLE VideoMedia( media_id INTEGER, title CHAR(128), year INTEGER,
PRIMARY KEY (media_id), FOREIGN KEY (media_id) REFERENCES Media,
FOREIGN KEY (title, year) REFERENCES Video );
The next script populated the database with sample data:
INSERT INTO Customer(ID, name, addr, DOB, phone, username, password) VALUES
(60201, 'Jason L. Gray', '2087 Timberbrook Lane, Gypsum, CO 81637',
'09/09/1958', '970-273-9237', 'jlgray', 'password1');
INSERT INTO Customer(ID, name, addr, DOB, phone, username, password) VALUES
(89682, 'Mary L. Prieto', '1465 Marion Drive, Tampa, FL 33602',
'11/20/1961', '813-487-4873', 'mlprieto', 'password2');
INSERT INTO Customer(ID, name, addr, DOB, phone, username, password) VALUES
14. 10
(64937, 'Roger Hurst', '974 Bingamon Branch Rd, Bensenville, IL 60106',
'08/22/1973', '847-221-4986', 'rhurst', 'password3');
INSERT INTO Customer(ID, name, addr, DOB, phone, username, password) VALUES
(31430, 'Warren V. Woodson', '3022 Lords Way, Parsons, TN 38363',
'03/07/1945', '731-845-0077', 'wvwoodson', 'password4');
INSERT INTO Customer(ID, name, addr, DOB, phone, username, password) VALUES
(79916, 'Steven Jensen', '93 Sunny Glen Ln, Garfield Heights, OH 44125',
'12/14/1968', '216-789-6442', 'sjensen', 'password5');
INSERT INTO Customer(ID, name, addr, DOB, phone, username, password) VALUES
(93265, 'David Bain', '4356 Pooh Bear Lane, Travelers Rest, SC 29690',
'08/10/1947', '864-610-9558', 'dbain', 'password6');
INSERT INTO Customer(ID, name, addr, DOB, phone, username, password) VALUES
(58359, 'Ruth P. Alber', '3842 Willow Oaks Lane, Lafayette, LA 70507',
'02/18/1976', '337-316-3161', 'rpalber', 'password7');
INSERT INTO Customer(ID, name, addr, DOB, phone, username, password) VALUES
(88564, 'Sally J. Schilling', '1894 Wines Lane, Houston, TX 77002',
'07/02/1954', '832-366-9035', 'sjschilling', 'password8');
INSERT INTO Customer(ID, name, addr, DOB, phone, username, password) VALUES
(57054, 'John M. Byler', '279 Raver Croft Drive, La Follette, TN 37766',
'11/27/1954', '423-592-8630', 'jmbyler', 'password9');
INSERT INTO Customer(ID, name, addr, DOB, phone, username, password) VALUES
(49312, 'Kevin Spruell', '1124 Broadcast Drive, Beltsville, VA 20705',
'03/04/1984', '703-953-1216', 'kspruell', 'password10');
INSERT INTO Card(num, fines, ID) VALUES ( 5767052, 0.0, 60201);
INSERT INTO Card(num, fines, ID) VALUES ( 5532681, 0.0, 60201);
INSERT INTO Card(num, fines, ID) VALUES ( 2197620, 10.0, 89682);
INSERT INTO Card(num, fines, ID) VALUES ( 9780749, 0.0, 64937);
INSERT INTO Card(num, fines, ID) VALUES ( 1521412, 0.0, 31430);
INSERT INTO Card(num, fines, ID) VALUES ( 3920486, 0.0, 79916);
INSERT INTO Card(num, fines, ID) VALUES ( 2323953, 0.0, 93265);
INSERT INTO Card(num, fines, ID) VALUES ( 4387969, 0.0, 58359);
INSERT INTO Card(num, fines, ID) VALUES ( 4444172, 0.0, 88564);
INSERT INTO Card(num, fines, ID) VALUES ( 2645634, 0.0, 57054);
INSERT INTO Card(num, fines, ID) VALUES ( 3688632, 0.0, 49312);
INSERT INTO Location(name, addr, phone) VALUES ('Texas Branch',
'4832 Deercove Drive, Dallas, TX 75208', '214-948-7102');
INSERT INTO Location(name, addr, phone) VALUES ('Illinois Branch',
'2888 Oak Avenue, Des Plaines, IL 60016', '847-953-8130');
INSERT INTO Location(name, addr, phone) VALUES ('Louisiana Branch',
'2063 Washburn Street, Baton Rouge, LA 70802', '225-346-0068');
INSERT INTO Status(code, description) VALUES (1, 'Available');
INSERT INTO Status(code, description) VALUES (2, 'In Transit');
INSERT INTO Status(code, description) VALUES (3, 'Checked Out');
INSERT INTO Status(code, description) VALUES (4, 'On Hold');
INSERT INTO Media( media_id, code) VALUES (8733, 1);
INSERT INTO Media( media_id, code) VALUES (9982, 1);
INSERT INTO Media( media_id, code) VALUES (3725, 1);
INSERT INTO Media( media_id, code) VALUES (2150, 1);
INSERT INTO Media( media_id, code) VALUES (4188, 1);
INSERT INTO Media( media_id, code) VALUES (5271, 2);
INSERT INTO Media( media_id, code) VALUES (2220, 3);
INSERT INTO Media( media_id, code) VALUES (7757, 1);
INSERT INTO Media( media_id, code) VALUES (4589, 1);
INSERT INTO Media( media_id, code) VALUES (5748, 1);
15. 11
INSERT INTO Media( media_id, code) VALUES (1734, 1);
INSERT INTO Media( media_id, code) VALUES (5725, 1);
INSERT INTO Media( media_id, code) VALUES (1716, 4);
INSERT INTO Media( media_id, code) VALUES (8388, 1);
INSERT INTO Media( media_id, code) VALUES (8714, 1);
INSERT INTO Book(ISBN, title, author, year, dewey, price) VALUES
('978-0743289412', 'Lisey''s Story', 'Stephen King',
2006, 813, 10.0);
INSERT INTO Book(ISBN, title, author, year, dewey, price) VALUES
('978-1596912366', 'Restless: A Novel', 'William Boyd',
2006, 813, 10.0);
INSERT INTO Book(ISBN, title, author, year, dewey, price) VALUES
('978-0312351588', 'Beachglass', 'Wendy Blackburn',
2006, 813, 10.0);
INSERT INTO Book(ISBN, title, author, year, dewey, price) VALUES
('978-0156031561', 'The Places In Between', 'Rory Stewart',
2006, 910, 10.0);
INSERT INTO Book(ISBN, title, author, year, dewey, price) VALUES
('978-0060583002', 'The Last Season', 'Eric Blehm',
2006, 902, 10.0);
INSERT INTO Book(ISBN, title, author, year, dewey, price) VALUES
('978-0316740401', 'Case Histories: A Novel', 'Kate Atkinson',
2006, 813, 10.0);
INSERT INTO Book(ISBN, title, author, year, dewey, price) VALUES
('978-0316013949', 'Step on a Crack', 'James Patterson, et al.',
2007, 813, 10.0);
INSERT INTO Book(ISBN, title, author, year, dewey, price) VALUES
('978-0374105235', 'Long Way Gone: Memoirs of a Boy Soldier',
'Ishmael Beah', 2007, 916, 10.0);
INSERT INTO Book(ISBN, title, author, year, dewey, price) VALUES
('978-0385340229', 'Sisters', 'Danielle Steel', 2006, 813, 10.0);
INSERT INTO BookMedia(media_id, ISBN) VALUES (8733, '978-0743289412');
INSERT INTO BookMedia(media_id, ISBN) VALUES (9982, '978-1596912366');
INSERT INTO BookMedia(media_id, ISBN) VALUES (3725, '978-1596912366');
INSERT INTO BookMedia(media_id, ISBN) VALUES (2150, '978-0312351588');
INSERT INTO BookMedia(media_id, ISBN) VALUES (4188, '978-0156031561');
INSERT INTO BookMedia(media_id, ISBN) VALUES (5271, '978-0060583002');
INSERT INTO BookMedia(media_id, ISBN) VALUES (2220, '978-0316740401');
INSERT INTO BookMedia(media_id, ISBN) VALUES (7757, '978-0316013949');
INSERT INTO BookMedia(media_id, ISBN) VALUES (4589, '978-0374105235');
INSERT INTO BookMedia(media_id, ISBN) VALUES (5748, '978-0385340229');
INSERT INTO Checkout(media_id, num, since, until) VALUES
(2220, 9780749, '02/15/2007', '03/15/2007');
INSERT INTO Video(title, year, director, rating, price) VALUES
('Terminator 2: Judgment Day', 1991, 'James Cameron', 8.3, 20.0);
INSERT INTO Video(title, year, director, rating, price) VALUES
('Raiders of the Lost Ark', 1981, 'Steven Spielberg', 8.7, 20.0);
INSERT INTO Video(title, year, director, rating, price) VALUES
('Aliens', 1986, 'James Cameron', 8.3, 20.0);
INSERT INTO Video(title, year, director, rating, price) VALUES
('Die Hard', 1988, 'John McTiernan', 8.0, 20.0);
INSERT INTO VideoMedia(media_id, title, year) VALUES
( 1734, 'Terminator 2: Judgment Day', 1991);
16. 12
INSERT INTO VideoMedia(media_id, title, year) VALUES
( 5725, 'Raiders of the Lost Ark', 1981);
INSERT INTO VideoMedia(media_id, title, year) VALUES
( 1716, 'Aliens', 1986);
INSERT INTO VideoMedia(media_id, title, year) VALUES
( 8388, 'Aliens', 1986);
INSERT INTO VideoMedia(media_id, title, year) VALUES
( 8714, 'Die Hard', 1988);
INSERT INTO Hold(media_id, num, name, until, queue) VALUES
(1716, 4444172, 'Texas Branch', '02/20/2008', 1);
INSERT INTO Librarian(eid, ID, pay, Loc_name) Values
(2591051, 88564, 30000.00, 'Texas Branch');
INSERT INTO Librarian(eid, ID, pay, Loc_name) Values
(6190164, 64937, 30000.00, 'Illinois Branch');
INSERT INTO Librarian(eid, ID, pay, Loc_name) Values
(1810386, 58359, 30000.00, 'Louisiana Branch');
INSERT INTO Stored_In(media_id, name) VALUES(8733, 'Texas Branch');
INSERT INTO Stored_In(media_id, name) VALUES(9982, 'Texas Branch');
INSERT INTO Stored_In(media_id, name) VALUES(1716, 'Texas Branch');
INSERT INTO Stored_In(media_id, name) VALUES(1734, 'Texas Branch');
INSERT INTO Stored_In(media_id, name) VALUES(4589, 'Texas Branch');
INSERT INTO Stored_In(media_id, name) VALUES(4188, 'Illinois Branch');
INSERT INTO Stored_In(media_id, name) VALUES(5271, 'Illinois Branch');
INSERT INTO Stored_In(media_id, name) VALUES(3725, 'Illinois Branch');
INSERT INTO Stored_In(media_id, name) VALUES(8388, 'Illinois Branch');
INSERT INTO Stored_In(media_id, name) VALUES(5748, 'Illinois Branch');
INSERT INTO Stored_In(media_id, name) VALUES(2150, 'Louisiana Branch');
INSERT INTO Stored_In(media_id, name) VALUES(8714, 'Louisiana Branch');
INSERT INTO Stored_In(media_id, name) VALUES(7757, 'Louisiana Branch');
INSERT INTO Stored_In(media_id, name) VALUES(5725, 'Louisiana Branch');
The database was created and filled with 10 Customers, 11 Cards, 3
Locations and 3 Employees, and 15 media items. A Hold relationship
and a Checkout relationship were also created.
17. 13
GUI DESIGN
The first step in designing the GUI was to choose a means of accessing
the database. After evaluating various options, we settled on using the
JDBC API. The availability of JavaServer Pages on UNCC's servers was
an important factor, as it allowed us to develop our application using a
three-tier architecture. By using JDBC we could separate the
application logic from the DBMS as well as from clients. In addition to
simplifying operations on the database, this architecture makes
extending the functionality of our system easier. When adding a new
feature or improving an existing one, we will not need to change the
database; it will only be necessary to modify the Java portion of the
code.
Before beginning Java development, however, we needed to define a
set of queries that our application would use to communicate with the
Oracle database. The queries are presented below. Note that the terms
labeled <user input> are to be filled in by the application after it
receives input from the user and validates it. Note also that complex
procedures that require several steps and modify more than one table
– such as operations to check out media or put media on hold - will
combine several queries into a single transaction, eliminating the
possibility of corrupting the database. Finally, some searches (i.e.
searches for Book or Video entries) may have a variable number of
search parameters, determined at run-time. For example, users will
have the option to search for a book by title only, by author only, by
year only, by all three fields, or by any combination of two fields. For
simplicity's sake, the search queries listed below contain all possible
search parameters, but not their possible combinations.
/* *
Functions available to customers
* */
/* User login and authentication */
SELECT C.ID, C.name, C.addr, C.DOB, C.phone, C.username,
nvl((SELECT 'Librarian'
FROM Librarian L
WHERE L.ID = C.ID), 'Customer') AS role
18. 14
FROM Customer C
WHERE C.username = <user input> AND C.password = <user input>;
/* Book search for customers */
SELECT B.ISBN, B.title, B.author, B.year,
(SELECT COUNT(*)
FROM BookMedia BM
WHERE BM.ISBN = B.ISBN AND BM.code = 1) AS num_available
FROM Book B
WHERE B.title LIKE '%<user input>%' AND B.author LIKE '%<user input>%' AND
B.year <= <user input> AND B.year >= <user input>;
/* Find all copies of a book (used for placing holds or viewing detailed
information). */
SELECT BM.media_id, S.description,
nvl((SELECT SI.name
FROM Stored_In SI
WHERE SI.media_id = BM.media_id), 'none') AS name
FROM BookMedia BM, Media M, Status S
WHERE BM.ISBN = <user input> AND M.media_id = BM.media_id AND S.code = M.code;
/* Video search for customers */
SELECT V.title, V.year, V.director, V.rating
(SELECT COUNT(*)
FROM VideoMedia VM
WHERE VM.ID = V.ID AND VM.code = 1) AS num_available
FROM Video V
WHERE V.title LIKE '%<user input>%' AND V.year <= <user input> AND V.year <= <user input>
AND V.director LIKE '%<user input>%' AND V.rating >= <user input>;
/* Find all copies of a video (used for placing holds or viewing detailed
information). */
SELECT VM.media_id, S.description,
nvl((SELECT SI.name
FROM Stored_In SI
WHERE SI.media_id = VM.media_id), 'none') AS name
FROM VideoMedia VM, Media M, Status S
WHERE VM.title = <user input> AND VM.year = <user input> AND
M.media_id = VM.media_id AND S.code = M.code;
/* Find the status of a given media item */
SELECT S.description
FROM Status S, Media M
WHERE S.code = M.code AND M.media_id = <user input>;
/* Create a new Hold */
INSERT INTO Hold(media_id, num, name, until, queue) VALUES
(<user input>, <user input>, <user input>, <user input>,
nvl((SELECT MAX(H.queue)
FROM Hold H
WHERE H.media_id = <user input>), 0) + 1 );
/* Cancel Hold, Step 1: Remove the entry from hold */
DELETE FROM Hold
WHERE media_id = <user input> AND num = <user input>
/* Cancel Hold, Step 2: Update queue for this item */
UPDATE Hold
19. 15
SET queue = queue-1
WHERE media_id = <user input> AND queue > <user input>;
/* Functions needed to view information about a customer */
/* View the customer's card(s) */
SELECT CR.num, CR.fines
FROM Card CR
WHERE CR.ID = <user input>;
/* View media checked out on a given card */
SELECT B.title, B.author, B.year, BM.media_id, CO.since, CO.until
FROM Checkout CO, BookMedia BM, Book B
WHERE CO.num = <user input> AND CO.media_id = BM.media_id AND B.ISBN = BM.ISBN
UNION
SELECT V.title, V.director, V.year, VM.media_id, CO.since, CO.until
FROM Checkout CO, VideoMedia VM, Book B
WHERE CO.num = <user input> AND CO.media_id = VM.media_id AND
VM.title = V.title AND VM.year = V.year;
/* View media currently on hold for a given card */
SELECT B.title, B.author, B.year, BM.media_id, H.until, H.queue, SI.name
FROM Hold H, BookMedia BM, Book B, Stored_In SI
WHERE H.num = <user input> AND H.media_id = BM.media_id AND B.ISBN = BM.ISBN
AND SI.media_id = H.media_id
UNION
SELECT V.title, V.director, V.year, VM.media_id, H.until, H.queue, SI.name
FROM Hold H, VideoMedia VM, Book B, Stored_In SI
WHERE H.num = <user input> AND H.media_id = VM.media_id AND
VM.title = V.title AND VM.year = V.year AND SI.media_id = H.media_id;
/* View the total amount of fines the customer has to pay */
SELECT SUM(CR.fines)
FROM Card CR
WHERE CR.ID = <user input>;
/* *
Functions reserved for librarians
* */
/* Add new customer */
INSERT INTO Customer(ID, name, addr, DOB, phone, username, password) VALUES
(<user input>, <user input>, <user input>, <user input>, <user input>,
<user input>, <user input>, );
/* Find a customer */
SELECT C.ID, C.name, C.addr, C.DOB, C.phone, C.username,
nvl((SELECT 'Librarian'
FROM Librarian L
WHERE L.ID = C.ID), 'Customer') AS role
FROM Customer C
WHERE C.username = <user input> AND C.name LIKE '%<user input>%';
/* Add new card and assign it to a customer */
INSERT INTO Card(num, fines, ID) VALUES ( <user input>, 0, <user input>);
/* Create an entry in Checkout */
INSERT INTO Checkout(media_id, num, since, until) VALUES
20. 16
(<user input>, <user input>, <user input>, <user input>);
/* Remove the entry for Stored_In */
DELETE FROM Stored_In
WHERE media_id = <user input>;
/* Change the status code of the media */
UPDATE Media
SET code = <user input>
WHERE media_id = <user input>;
/* Remove the entry from Checkout */
DELETE FROM Checkout
WHERE media_id = <user input>;
/* Create the entry in Stored_In */
INSERT INTO Stored_In(media_id, name) VALUES (<user input>, <user input>);
/* Find the next Hold entry for a given media */
SELECT H.num, H.name, H.until
FROM Hold H
WHERE H.queue = 1 AND H.media_id = <user input>;
/* Change the Stored_In entry to the target library branch */
UPDATE Stored_In
SET name = <user input>
WHERE media_id = <user input>;
/* Find the customer that should be notified about book arrival */
SELECT C.name, C.phone, CR.num
FROM Customer C, Card CR, Hold H
WHERE H.queue = 1 AND H.name = <user input> AND H.media_id = <user input> AND
CR.num = H.num AND C.ID = CR.ID;
/* Add a new entry into the Book table */
INSERT INTO Book(ISBN, title, author, year, dewey, price) VALUES
(<user input>, <user input>, <user input>, <user input>, <user input>,
<user input>);
/* Add a new entry into the Video table */
INSERT INTO Video(title, year, director, rating, price) VALUES
(<user input>, <user input>, <user input>, <user input>, <user input>);
/* Add a new Media object */
INSERT INTO Media( media_id, code) VALUES (<user input>, 1);
/* Add a new BookMedia object */
INSERT INTO BookMedia(media_id, ISBN) VALUES (<user input>, <user input>);
/* Add a new VideoMedia object */
INSERT INTO VideoMedia(media_id, title, year) VALUES
(<user input>, <user input>, <user input>);
/* Remove an entry from the BookMedia table */
DELETE FROM BookMedia
WHERE media_id = <user input>;
/* Remove an entry from the VideoMedia table */
21. 17
DELETE FROM VideoMedia
WHERE media_id = <user input>;
/* Remove an entry from the Media table */
DELETE FROM Media
WHERE media_id = <user input>;
/* Remove an entry from the Book table */
DELETE FROM Book
WHERE ISBN = <user input>;
/* Remove an entry from the Video table */
DELETE FROM Video
WHERE title = <user input> AND year = <user input>;
/* Update the customer's fines */
UPDATE Card
SET fines = <user input>
WHERE num = <user input>
After learning about the optimizers used by commercial database
management systems, we reviewed the above queries for efficiency.
They turned out to be simple and efficient enough not to require
further optimization.
With the query design and optimization finished, we turned our
attention to the GUI itself. Our design is laid out in a fairly traditional
manner – a navigation bar on the top, a navigation box on the left side
of the screen, and a content box on the right. Upon first entering the
website, the user is presented with a log-in prompt. When the user
attempts to log in, the system compares entered credentials with
those stored in the database and presents the user with a menu.
The menus change based on the user's role: customers have basic
functions to search for media, view their account options, fines, and so
on, while librarians get an extended menu with administration-related
links. It should be noted that there is no special log in for librarians;
instead, the system accesses the database to find out whether the
user is a librarian and builds the menu dynamically.
We used a combination of tables, cascading style sheets, and Java
Server Pages to display the site's graphics. The application performs
queries on the database using servlets and JDBC. Refer to Appendix B
22. 18
for a hard copy of the website design, or go to
http://coit-servlet01.uncc.edu:8080/svbegun/library/layout.jsp to see
the site in action.
23. 19
CONCLUSIONS AND FUTURE WORK
During this semester, our group has designed and implemented a
database for managing a library system with multiple locations, the
ability to store videos as well as books, and separate functions for
customers and librarians. Furthermore, we were able to keep the
system's logic abstracted from both the end users and the DBMS by
using JDBC to create a third-tier architecture. Finally, we used CSS
and JSP to design an Internet-based GUI for remotely accessing the
database.
The database design supports more operations than are currently
implemented by the GUI. For example, the "hold" relationship can
store a waiting list of customers who want to check out a particular
media item; there is also the possibility of a customer having multiple
library cards. If we were to continue with this project, we would
implement the above features, and also improve the account
management and search features.