Saturday, 3 May 2014

Database design – Basic for web development

For all database designs, there are a set of standard rules and best practices to follow, all of which can help a database stay organized and help to team up with the respective site in a smart and efficient way.

What Functionality is Needed from the Database?

The first method for planning for a database is to simply brainstorm, on paper or otherwise, concerning what the database will need to store, and what the site will need out of it. Try not to think of the individual fields or tables that will be needed at this point - all that specific planning can take place later. The goal is to start with a general and complete view, and narrow down. It can often times be more difficult to add in items later, rather than get it right the first time.

Think outside the database. Try to think about what the website will need to do. For example, if a membership website is needed, the first instinct may be to begin thinking of all the data each user will need to store. Forget it, that's for later. Rather, write down that users and their information will need to be stored in the database, and what else? What will those members need to do on the site? Will they make posts, upload files or photos, or send messages? Then the database will need a place for files/photos, posts, and messages.

What information will they need to derive from the site? Will they need to search for their favorite recipe, be able to access member-only content, or need to look up products and their recently purchased or viewed products? Then the database will need a place to hold those recipes, a place for content that is defined as members-only or not, or hold all products and create a method to link certain products to a specific member.

Determining Tables and Fields

The next phase would be to begin determining exactly what tables and fields one would need in the database. This is the core of database design, and the most difficult part. Using correct methods for linking tables together, sorting the data within each table correctly, and grouping it or keeping it separate are all arising problems when it comes to database design. At this point, list out what tables and fields are clear at this point, trying to be as specific as possible. Through the process, items can be rearranged or reorganized to improve the database's efficiency and security.

USE A DATA MODELING TOOL

Now that you know what the site will need to do, it's time to organize what exact information needs to be stored. A great database design tool can be helpful for this; specifically one that can help set up visual database models, suchas MySQL Workbench (for MySQL databases only) or DBDesigner4.Gliffy is also a great free online application for creating flowcharts and database models.

Become familiar with the common icons and standard visual elements necessary to create database models, and begin planning via flowcharts and diagrams ahead of time. This can sort out logical errors before any actual databases are created.

RELATIONAL DATABASES

Almost all databases are relational databases. This means that the tables in the database are related to each other in some way. For example, if a there is a member on an ecommerce website, that member may be related to certain products based on what they ordered last, or what they have expressed they are interested in. For a blog database, authors would have to be somehow related to the posts they wrote, and logged in users could be related to any comments they've left.

By using the techniques for relationaldatabases, we can store plenty of information in an organized fashion within separate tables: one table for members, one for posts, another for comments, and yet another for products. Then, we can link the data between different tables together via unique keys.

Every entry in every table needs a uniqueprimary key. This is the "social security number" or "bar code" for each entry. It is unique to each entry, and no other entry can have the same ID in the same table. Having unique usernames or product names in a database table is not enough. It is far more efficient, and best practice as well, to use unique primary keys. Even with other types of unique fields, a database is still vulnerable to duplicate records, which can later break code within the website.

To relate two tables we use a foreign key, which is just a number ID that references a unique key in another table, usually our primary key.



GROUPING OR SEPARATING DATA INFO FIELDS

Within fields, it's also important to know when to group certain pieces of data together, and when to keep them separate. A good way to determine which information should be in the same field or otherwise is to think about what it would take to change that piece of information if necessary. For example, would it be necessary to place a full address in separate fields, based on 1) street address, 2) city, 3) state, 4) zip code, and then 5) country?
Is it essential for the functionality of the site (perhaps users or admins would need to search addresses by state only), or is it just a waste of fields and database space? If it's not essential, just to change an address the database would have to update five separate fields, when it could just update one field in string form. In order to keep such a field organized, one could take in the information via an HTML form with these fields separated, but then concatenate them into one single string before placing the address into the database.
This is just one example, but always keep in mind the most efficient ways to organize table fields, and when to combine them, or when to keep them separate for the sake of the website's functionality.

DATABASE NORMALIZATION

Database normalization is a set of guidelines created by the community for organizing data in a database efficiently. We've mentioned a few of the most important and basic practices already, which are included in some of the most standard normalization forms. There are five normal forms to follow, and it's a good idea to learn about these five forms in order to conform any database's design to their best practices.
Database normalization is a large topic, but just understanding the basics can help tremendously. To take a look at each normalization form and a general overview of the concept, be sure to take a look at Database Normalizaiton Basics.

Conclusion

Database design can be a heavy subject with a lot to cover, but it doesn't take a lot to learn the basics and get a good design for the most basic of database structures. Perhaps the most important rule and phase to designing a database is the initial design and brainstorming phase. This is what allows any developer to get all of the information they need up front, and to begin organizing as necessary. Only with all of the necessary information to work with can a great database design be created intelligently, with tables linked properly, and best practices intact.
The goal of any database is to be efficient and scalable. Data is always being edited, added, and deleted, so it's important to keep a database organized in order to maintain this constant changing set of data. Be sure to design a database that deletes only the information necessary when needed, adds no duplicate records, and is able to reference other data throughout the database easily and simply.

FURTHERRESOURCES

§  Database Design Tutorial
§  10 Common Database Design Mistakes
§  Introduction to Database Design
§  Principles of Good Database Design

§  7 Steps to a Good Database Design

Saturday, 19 April 2014

ORATC - Oracle DBA Jobs

ORATC is a subsidiary of Pansoft Data Solutions, started in May 2010, At ORATC we offer high end training services on different modules.

Oracle Database Education at ORATC is a journey that adds value along the way, to the Oracle Consulting Community working with Oracle Partner Organizations, Partners, Customers and aspiring young consultants. Oracle consultants seeking knowledge at ORATC benefit from the experience of practicing Oracle consultants who take time out from their real life projects to impart training.

As a learning solutions provider for many of the industry's top vendors, such as Oracle Solaris, ORATC ,India is positioned to offer the latest authorized curriculum delivered by certified instructors to keep you on the cutting edge of technology. Whether you are searching for an answer for the complex training needs of a large, multi-location business, or an individual seeking the skills to excel in a new or expanding Oracle career path, ORATC, INDIA is your integrated learning solution.

ORACLE TRAINING CENTER

PANSOFT is a software services organisation, providing oracle ERP integrated services.

We have a proven track record in end-to-end solution delivery. Our services encompass all the aspects of an Oracle ERP software that includes application implementation, development, upkeep, maintenance and administration.
Having established a sizeable offshore development centre in India with clients across various geographies it is our intention to broaden our horizon serving our clients.
Our comitted pool of qualified techno-functional consultants and project management personnel have helped us thus so far overcome every challenge as we strive to reach greater heights.

VISION & MISSION

Our Vision is to be the most preferred service provider for our clients contributing to their business, improving value through better and desired solutions.
Our Mission is to help organisations excel in their business by providing accelerated Oracle Implementation Services and Support Services enabling them to improve operational efficiency.

Training we offer :

Saturday, 12 April 2014

Beyond 2012: The Future of Database Administrator Careers


Let's tie together the last several columns on "2012 Might Really be The End of the World." In this series, When discussed several megatrends in the general IT industry that will have a tremendous impact on the database administration (DBA) profession.  The megatrends include both software-related (virtualization and cheap cloud database services) and hardware-related (SSDs and massively multi-core CPUs).  These technologies have the potential to obviate many of the core competencies of the DBA, with the first two eliminating or lessening the need for server and hardware configuration and provisioning, and the last two diminishing the need for IO tuning and query tuning, respectively.  But those are trends that will take years to reach fruition.  What about the near future?

In actuality, prospects for current and future DBAs.  Here are a few reasons. 

First, most companies, even many Fortune 500-sized organizations, aren't getting basic database administration right in the first place.  They can't institutionalize the benefits of basic information management techniques until they've had a few years of solid experience with their data.  These organizations, both great and small, need some time to understand their database before they can exploit their data assets or effectively extract business intelligence from them.  I'm doubtful that immature organizations can leapfrog into the newest technologies without wasting a lot of money, time, and morale.

Second, there aren't enough DBAs, and there won't be for the foreseeable future.  The Bureau of Labor Statistics shows there are currently 380,000 people working under the title of "databaseadministrator."  (The most recent data I could find was from 2009.) Of course, many more do the work of a DBA without that title.  However, database administration and its variants are considered high-growth.  There's only about a 4 % unemployment rate for DBAs, and demand far outstrips supply.

Third, our higher education system just doesn't get it.  It's not turning out the kind of graduates needed to step immediately into database management professions.  Even the most savvy and progressive of universities don't think deeply about data.  They're still focused primarily on algorithms (for the Computer Science department) or requirements and business analysis (for Information Systems majors).  And those who do think about data usually offer, at best, two courses on database management. 

So, a new graduate must spend at least a few years in the trenches before he or she can become an effective part of a data management team.  This effectively winnows out many potential candidates.  It's also given rise to the term "accidental DBA," which we see daily in the SQL Server world on blogs and conference presentations.  The accidental DBA is someone who was given DBA responsibilities with no formal training on the subject.  He or she might be the best SQL developer on the dev team.  Or they might be the most analytical of the business analysts.  Sometimes, they just happen to be the person standing closest to the server rack when the boss says, "We need a volunteer to be a DBA - ah, you!" 
With so many accidental DBAs put in charge of valuable data assets, organizations essentially start the cycle all over again, which goes back to my first point - companies aren't getting even the basics of database administration right.

So, yes - if you're a DBA today, you have some things to learn and some things to worry about in the future.  But you have plenty of time to learn them.  Once you learn new technologies like virtualization and IO tuning with SSDs, you'll be able to leverage those skills into promotions and pay raises.  Because as long as we have "accidental DBAs" coming up from the trenches, large organizations will have to pay a premium for the elite data management professionals who know both the best practices for operational database administration - and  how to take advantage of the newest technologies.


http://www.dbta.com/Columns/SQL-Server-Drill-Down/Beyond-2012-The-Future-of-Data-Management-Careers-79724.aspx

Saturday, 29 March 2014

Introduction to Oracle Concepts

This is a brief introduction to Oracle Concepts for the DBA.  Conceptually, you can think of an Oracle database as nothing more than a large electronic filing cabinet, a place to store and retrieve information. At the computer level, Oracle is a computer program that manages an electronic filing cabinet.

What is an Oracle Database?

A database is a collection of data. An Oracle database holds its data in a coordinated set of files stored on disk, including following types:
  • Parameter Files - The Oracle Parameter File (PFILE or SPFILE) holds initialization parameters which indicate where the control files are, how memory is allocated, how logging is performed, and other characteristics of the Oracle instance.
  • Control Files - The Control File stores information needed to verify that the database is consistent, including a list of all database files making up the instance and other important data.
  • Redo Log Files - The Redo Log files store a sequence of entries describing all actions taken against the database. This data is used to recover a database in the event of instance failure.
  • Data Files - The Data Files contain blocks of data which store database objects (e.g., tables, indexes, materialized views, etc.) in the database.
  • Temp Files - The Temp files contains data used temporarily including intermediate results, sort results and so forth.

Duties of Database Administrators

The principal responsibility of a database administrator (DBA) is to make enterprise data available to its users. DBAs must work closely with the developers to ensure that their applications make efficient use of the database, and with system administrators to ensure that physical resources are adequate and used efficiently.
Oracle DBAs are responsible for understanding the Oracle Database architecture and how the database works. DBAs can expect to perform the following tasks:
  • Installing, upgrading, and patching Oracle Database software
  • Designing databases, including identifying requirements, creating the logical design (conceptual model), and physical database design
  • Creating Oracle databases
  • Developing and testing a backup and recovery strategy, backing up Oracle databases regularly, and recovering them in case of failures
  • Configuring the network environment to enable clients to connect to databases
  • Starting up and shutting down the database
  • Managing storage for the database
  • Managing users and security
  • Managing database objects such as tables, indexes, and views
  • Monitoring and tuning database performance
  • Investigating, gathering diagnostic data for, and reporting to Oracle Support Services any critical database errors
  • Evaluating and testing new database features


The types of users and their roles and responsibilities depend on the database environment. A small database may have one DBA. A very large database may divide the DBA duties among several specialists, for example, security officers, backup operators, and application administrators.

Tools for Database Administrators

Oracle provides several tools for use in administering a database. This section describes some commonly used tools:
  • Oracle Enterprise Manager
  • SQL*Plus
  • Tools for Database Installation and Configuration
  • Tools for Oracle Net Configuration and Administration
  • Tools for Data Movement and Analysis

Saturday, 15 March 2014

Oracle 10g rac Administration

ORATC is a subsidiary of Pansoft Data Solutions, started in May 2010, At ORATC we offer high end training services on different modules.
Oracle Database Education at ORATC is a journey that adds value along the way, to the Oracle Consulting Community working with Oracle Partner Organizations, Partners, Customers and aspiring young consultants. Oracle consultants seeking knowledge at ORATC benefit from the experience of practicing Oracle consultants who take time out from their real life projects to impart training.
As a learning solutions provider for many of the industry's top vendors, such as Oracle Solaris, ORATC ,India is positioned to offer the latest authorized curriculum delivered by certified instructors to keep you on the cutting edge of technology. Whether you are searching for an answer for the complex training needs of a large, multi-location business, or an individual seeking the skills to excel in a new or expanding Oracle career path, ORATC, INDIA is your integrated learning solution.


WHAT YOU WILL LEARN
This course offers students an introduction to the general features and capabilities of Oracle Database 10g Release 2 for Oracle Real Application Clusters (RAC). Students learn how to install and administer OracleClusterware, Real Application Clusters, and Automatic Storage Management. Students also learn how to administer their Database in a Real Application Clusters environment using Enterprise Manager Grid Control. Increase your efficiency by learning how to configure and use database services as well as the Load Balancing Advisory in a RAC environment. Learn how to add and remove nodes in clusters and how to patch both Oracle Clusterware and Real Application Clusters software in a rolling fashion.
This course counts toward the Hands-on course requirement for the following certifications
  • Oracle Database 10g Administrator Certification
  • Oracle Database 10g: Real Application Clusters Administrator Certified Expert
  • Only instructor-led inclass or instructor-led online formats of this course will meet the Certification Hands-on Requirement. Self Study CD-Rom and Knowledge Center courses are excellent study and reference tools but DO NOT meet the Hands-on Requirement for certification.
  • Learn To:Install Oracle Clusterware and Real Application ClustersAdminister a RAC DatabaseAdminister Database Services in a RAC environmentAdminister Oracle ClusterwareAdd/Remove a node to/from a clusterPatch Oracle
  • Clusterware and RAC software in a rolling fashion

AUDIENCE

  • Data Warehouse Administrator
  • Database Administrators
  • Database Designers
  • Project Manager
  • Support Engineer
  • System Analysts
  • Technical Administrator
  • Technical Consultant

PREREQUISITES

  • Single-instance Oracle Database 10g Architecture and Experience

SUGGESTED PREREQUISITES

  • Oracle Database 10g: Administration Workshop I
  • Oracle Database 10g: Administration Workshop II
  • Oracle Enterprise Manager 10g Grid Control

COURSE OBJECTIVES

  • Identify Real Application Clusters components
  • Install, create, administer, and monitor a Real Application Clusters database
  • Use configuration and management tools for Real Application Clusters databases
  • Setup services for workloads management, and applications high availability
  • Develop a backup and recovery strategy for Real Application Clusters databases
  • Configure and monitor Oracle Clusterware resources
  • Review high availability best practices.


Saturday, 8 March 2014

Advantages & Disadvantages of Oracle SQL


Oracle SQL Developer is a free integrated development environment that simplifies the development and management of Oracle Database. SQL Developer offers complete end-to-end development of your PL/SQL applications, a worksheet for running queries and scripts, a DBA console for managing the database, a reports interface, a complete data modeling solution, and a migration platform for moving your 3rd party databases to Oracle.

Oracle SQL (structured query language) is a computer language that is designed to manage data stored in RDBMS (relational database management systems) databases. An RDBMS is a system of tables that store data and represents the relationships between them. SQL has various structural elements, including clauses, expressions, queries, statements and predicates. Oracle SQL is commonly used for the management of data stored in Oracle databases (also called Oracle RDBMS or simply Oracle).



Oracle SQL Developer is a free graphical tool for database development. With SQL Developer, you can browse database objects, run SQL statements and SQL scripts, and edit and debug PL/SQL statements. You can also run any number of provided reports, as well as create and save your own. SQL Developer enhances productivity and simplifies your database development tasks.

     Advantage: Centralized Management System and Control
  • Oracle SQL statements allow data to be controlled from a central tabular repository. A database administrator (DBA) is responsible to create users, assign privileges, add records, delete redundant information, modify existing data and process queries. This centrally stored data is shared and accessed by various applications. This eliminates data entry and data storage redundancy.

     Advantage: Standardization

  • A major advantage of Oracle SQL is its standardization and consistency among various different implementations. SQL was first standardized by ANSI (American Standards Institute) in 1986, and further ratified in 1987 by the International Organization for Standardization (ISO), which remains its standardization body.

            Disadvantage: Inability to Implement Recursive Processing
    • According to "SQL for Dummies," one of the major drawbacks of SQL is its incapability to execute recursive processing. Recursive processing is a type of computer function (or program) in which one of the steps of a program (or procedure) reruns the entire program (or procedure). SQL lacks looping constructs that are common in other high-level programming languages, such as for and what loops. It cannot repeat actions and there is no way to define repetitive looping constructs in SQL.

      Disadvantage: Incompatibility and Complexity

    • One of the major disadvantages of Oracle SQL is inconsistency and data incompatibility in the areas of time and date syntax, string concatenation and case sensitivity. The language is complex, with a keyword approach similar in structure to COBOL (common business-oriented language), with fewer syntax and grammar rules.

      Disadvantage: Limited Functionality

    • SQL is a domain specific or special-purpose language, and its use is limited to a specific program domain. SQL statements are operated on tables and sets of data, such as personnel databases and accounting spreadsheets. SQL is a declarative domain specific language that is limited to the tabular representation of data.