.

Wednesday, August 21, 2019

Concepts of Corporate Strategy | SWOT Analysis of Apple

Concepts of Corporate Strategy | SWOT Analysis of Apple Corporate Strategy Introduction â€Å"Marketing strategists term this a harvest strategy and consider it a no-brainer† (Hamel Prahalad, 1994:125). â€Å"Few current business concepts are more prone to oversimplification than the growth/share model, with its labelling of products or divisions or whole companies as ‘dogs’, ‘question marks’, ‘stars’ or ‘cash cows’† (Seeger, 1984:94). â€Å"An apparent disadvantage of the matrix was that it assumed that market share was reliable indicator of future profitability† (Calandro Lane, 2007:30). The above three quotations all criticise the BCG growth/share matrix and its practicality as a competitive tool. This paper discusses the advantages and limitations of the matrix and its application for Apple Inc. as a competitive tool. It concludes that the BCG matrix does have some advantages but is not appropriate for all businesses industries and should not be used as a sole analysis model. In the fast pace d competitive modern business world using just the BCG matrix for evaluating a company’s portfolio can have disastrous consequences. The paper is divided into five parts. Starting with an introduction, it moves on to the concepts of corporate strategy, portfolio analysis and the portfolio models. The third part discusses some of the advantages and limitations of the BCG matrix. The fourth deals with the implications of the BCG matrix when applied to Apple Inc. ending with the conclusion. Corporate Strategy, Portfolio Analysis and Portfolio Matrix Models â€Å"Always to be best, and to be distinguished above the rest†. This quote from Homer the 8th Century Greek Poet epitomizes the aim of all organizations. This is where strategy comes in. â€Å"Strategy is the direction and scope of an organisation over the long term, which achieves advantage in a changing environment through its configuration of resources and competences with the aim of fulfilling stakeholder expectations† (Johnson, Scholes Whittington, 2005:9). One of the ways of achieving this is through competitive strategy. According to Porter â€Å"competitive strategy involves positioning a business to maximize the value of the capabilities that distinguish it from its competitors† (1980: 47). To achieve this, careful analysis of the external and internal environment is required. PESTLE and Porter’s Five Forces Model can be used for external analysis. For internal analysis the most commonly used is the seven S framework as well as SWOT analysis, v alue chain, value chain (supply) analysis and portfolio analysis. The result is greater understanding of the environment in which the business operates. Organizations operate under three levels of strategy. Corporate-level strategy, business-level strategy and operational or functional strategy. Corporate strategies deal with the organization as a whole while business strategy â€Å"focuses on how to compete in a particular industry or product-market segment† (Hofer Schendel, 1978 cited in: Beard Dess, 1981:667). Operational strategy is how the organization accomplishes the strategies set out in the first two using its various resources. For an organization to be profitable it is important to have effective strategies on all levels but a successful corporate strategy is crucial to the success of business and operational strategy. The late 1960’s and early 1970’s saw many conglomerates diversifying into different fields. New divisions or (Strategic Business Units) were evolving. The problem management faced was of effectively managing all these diversified units. One strategy could not work for all SBUs as they all experience different competitor threats, market growth rates and market shares. This problem was solved by the creation of the portfolio analysis. â€Å"Portfolio strategy pertains to the mix of business units and product lines that fit together in a logical way to provide synergy and competitive advantage for the corporation† (Daft, 2008:249). The aim of the corporation is to have a balanced corporate portfolio, so that they can decide which activities or products to expand,introduce and which businesses to acquire or dispose off. Thus, â€Å"diversified company portfolios are the normal and natural business form for efficiently channelling investment into the most productive use† (Henderson, 1977:203). The most common form of evaluating the corporate portfolios is the portfolio matrix models. Igor Ansoff, developed his Product-Market Growth Matrix in the 1950’s. He believed that â€Å"just to retain its relative position, a business firm must go through continuous growth and change† (Ansoff, 1957:113). He used four possible combinations of market penetration, product development, market development and diversification and plotted them on a 22 model. McKinsey Co developed a matrix where the variables were market strength and competitive position. Bruce Henderson in the mid 70’s using the same matrix principle developed his BCG growth/share matrix model. It had the same 22 matrix but was based on relative market share and market growth and used cash flow and the experience curve as a criterion. Arthur D. Little developed another model which used the product life cycle. â€Å"These [latter] three matrices form the basis of the various portfolio models that have been widely used to structure the strategic planning process of the firm in the 1970’s† (Coate, 1983:47). Since then there have been many matrices developed e.g. the GE model which uses ROI for assessing an investment opportunity and Shell which used a similar refined matrix evaluating business prospects along with the competitive position of the company. However, the most commonly used matrix by organizations is still Henderson’s BCG Growth/Share Matrix. It has to be taken into consideration however that â€Å"it is important to see these models as aids to decision making, not a replacement for management choice† (Hooley, Saunders Piercy, 2004:64). BCG Matrix – Advantages and Limitations The BCG matrix plots SBUs by looking at the relationship between market growth and market share. Henderson divided the matrix into cash cows, stars, question marks and dogs and asserted that â€Å"only a diversified company with a well balanced portfolio can use its strengths to truly capitalize on its growth opportunities† (Henderson, 1970:37). To show the relative significance of the SBU, size is shown in circles which can be calculated either from assets employed or sale turnover. The growth/share matrix gained immense popularity among large organizations with many SBUs. They could now use the matrix and decide which units to nurture, invest or divest. Its main advantage was its attractive presentation and easy to remember terms. Using only two variables it was easy and quick to make as well as being versatile enough to be applied to different brands, products, customers and distribution channels. The matrix became popular with managers who preferred the idea of cash flow implications rather than profits which are more in the accounts domain. The PIMS database which was developed at the General Electric in the 60’s and further developed by the Management Science Institute at Harvard in the early 70’s also supported this view. Another reason for the BCGs popularity was fashion. â€Å"It is an idea that is well understood and liked by many mangers and therefore one that allows communication between headquarters and strategic business units (SBUs). It has become part of the common business vocabulary† (Hooley et al, 2004:71). Undoubtedly, the simplicity of the matrix was its major advantage but it had its limitations as well. One of the major problems of the BCG matrix were the claims made by the developers that â€Å"such a single chart with a projected position five years out is sufficient alone to tell a company’s profitability, debt capacity, growth potential, dividend potential and competitive strength† (BCG, 2008:3). According to them the matrix would provide the complete solution but this is an erroneous belief. It does not provide the perfect solution for evaluating a company’s portfolio. This is also affirmed by Hooley et al who say that â€Å"if it is used it should be audited carefully to ensure its validity rather than followed blindly† (2004:2). Furthermore, there is no set definition of what an SBU is or what the definition of a market is e.g. a product might be a leader in a local market niche but at the same time a small player in the global market. The matrix is also difficult to plot accurately using market share and market growth. Organizational strength cannot be measured by market share alone, it has to take into consideration other strengths e.g. financial strength, brand equity, exclusive distribution channels or unique product features etc. In the same way market growth is only one aspect of market attractiveness. Using the cash flow resources for evaluation can also be perceived as a flaw. â€Å"In times of high inflation, cash flow may indeed be the major constraint on a company’s action range, but other capabilities such as appropriate managerial talent, expertise, know how, skilled labor and organizational flexibility are also important† (Derkinderen Crum, 1984:132). Also, according to Henderson â€Å"we should kick the dogs, cloister the cows and throw our money at stars. Only the question mark category demands management thought† (Seeger, 1984:94). This assumption can be criticised as being over simplistic. Dogs, should not be divested off without thought. They can retain that important portion of market share keeping competitors at bay, and also an organization who has a dominant product may deliberately introduce a dog into its portfolio for the same purpose. Sometimes, â€Å"occasionally it is possible to restore a dog to viability by a creative business segmentation strategy, rationalizing and specializing the business into a small niche which it can dominate† (Hedley cited in Wit Meyer, 2004:322). The human aspects and behavioural implications of the matrix are also overlooked e.g. how managers of SBUs categorized as cash cows react when their hard earned cash is given to other SBUs, or of members within the organization whose brainchild is divested? This can affect the morale of management and may result in quick turnover of disgruntled staff which is not beneficial to the organization. The simplicity of the matrix where an advantage can also be harmful since competitors can easy identify the strategy being used and use it to their advantage. An example of this is the successful infiltration of the Japanese in the UK motorcycle industry. Another limitation as Coate says is that â€Å"independent strategies can’t be defined for all possible business units† (1983:52) i.e. a business unit producing multiple products cannot invest in one profitable product and ignore the others. Either they all get investment of all of them have to be divested. Despite the fact that the matrix’s limitations far outweigh its benefits, it is still frequently used by organizations and in certain situations can be used as an effective competitive tool as well. The important thing is that it should not be used as the sole analysis method for decision making. Even the Boston Consulting Group has in recent years admitted that market share by itself does not necessarily mean competitive strength. â€Å"In a series of articles in the Financial Times in November 1981, Michael Gould of the BCG maintained that it is valuable to be the market leader for branded goods with the advantage of price leadership and the ability to spread marketing and distribution costs over a high volume; but economies of scale may be achieved even by a firm that is not the largest producer in the industry (Johnson et al, 2005:90). It is though, fair to say that â€Å"the simplicity of the Box makes it operationally useful and its ease of understanding makes it a use ful operational tool provided its limitations are kept clearly in mind† (Hooley et al, 2004:87). Apple Inc. The BCG Matrix 1: Profile Strategy: Apple is a global company operating in the technology industry which designs, manufactures and markets personal computers, portable music players and mobile communication devices. It was established in 1977 as Apple Computer Inc. specialising in personal computers. Operating in the ever changing high growth market and extreme competition, Apple began losing its market share to its major competitors including IBM and Hewlett Packard as well as the entry of numerous other PC manufacturing companies determined to enter the highly profitable market. SWOT Analysis (fig 2) Strengths Weaknesses Strong brand image Robust financial performance Media content Declining research and development (RD) investment Opportunities Threats Smart Phones Booming MP3 player markets Growing personal computers and peripherals markets Intense competition Dependence on specific suppliers Patent infringement Apple was faced with a weakening Mac line, stiff competition and demand for better value by the shareholders. There was need for a drastic change in strategy and product diversification was chosen as a mean of entering other consumer electronic market segments. In the Swot Analysis (fig 2) carried out by DataMonitor, we can clearly see their opportunities in the smart phones and MP3 player markets. In January 2007, the company changed its name to Apple Inc. as they diversified into other products. Currently, Apple Inc. in its portfolio owns three SBUs. The first is the Mac range which comprises of desktop and notebook computers along with their accessories. Secondly, it offers music products and services which include ipod, itunes etc. The third SBU consist of the mobile communication devices i.e. iphone. 2. BCG Matrix and Apple’s Product Portfolio: In the current competitive industry using the BCG matrix offers some benefits for Apple but there are disadvantages too. The flexibility that the matrix offers i.e. it can be used for plotting product portfolio of a firm can be beneficial to Apple. To introduce new products and revamp current ones a company needs vast amounts for investment. Apple needed money for RD which is a major expenditure for companies operating in the technology industry. â€Å"The Company believes continual investment in research and development is critical to the development and enhancement of innovative products and technologies† (Apple Investor Relations, 2007:1). Between 2005 and 2007, Apple spent $535 million dollars on RD. Part of this money was obtained by withholding dividend payments for two years between 2006 and 2007. The rest was from divesting within the Mac range. Using the BCG matrix, the decision of which products to invest in and which to divest would have been pretty straigtforward. Market growth for technological products very rarely slows long enough for a product to be classified as a cash cow. Therefore, most of these products would be classified either as a star, question mark or dog. At the time when Apple changed its strategy it had a large number of computers in its product range which it needed to reduce. The whole of the Mac Range would have been plotted with a few top selling products as stars which would have been carrying the whole load of the company with its profits. A few question marks which had low market share but were still making a profit which was being again utilized internally, but had low chances of becoming a star and quite a large number of products and their associated accessories and software would have been plotted in the dogs quadrant. By divesting in the dogs, Apple would have undoubtedly lost some market share but in introducing new products their aim was to attain market share in other markets. Spending huge amounts on RD, Apple updated and introduced fewer but better computers like ibook and imac into its product line in direct competition with their competitors. At the same time as updating its product line for the Mac range the ipod range can also be plotted on the matrix. The ipod currently holds 77% of the global market share , but to keep up with the current high demand Apple almost every year introduces a new version with more features and divest the oldest version which by that time has moved to the dog quadrant. It also uses the same strategy for the iphone range. Even though iphone is a relative new offering from Apple, it is already facing competition and to maintain and increase its market share Apple keeps introducing newer versions. Therfore, even though the BCG matrix does offer Apple benefits for managing its product portfolio, it negates one of the main declarations of Hendrix that â€Å"only a diversified company with a well balanced portfolio can use its strengths to truly capitalize on its growth opportunities† (1970:37). For a well balanced portfolio, a company must have cash cows, however, with Apple and its products, the market growth rate never slows enough for a product to become a cash cow. Most of its products are in the star or question mark quadrants, and some are dogs which are then divested. Apple however sometimes does tend to retain some dogs, even though Henderson believed that â€Å"pets are not necessary† (1970:37), and should be divested off, Apple keeps some of its older versions of products because they retain a small share of the market which might be vital to the companies overall market share. 3. BCG Matrix and Apple’s SBU Portfolio: However using the BCG matrix with Apple’s corporate portfolio poses quite a few problems. First of all the developers claims that â€Å"such a single chart with a projected position five years out is sufficient alone to tell a company’s profitability, debt capacity, growth potential, dividend potential and competitive strength† (BCG, 2008:3), cannot be applied to Apple Inc. Apple operates in a fast changing environment where the introduction of one product can radically change the competitive strength and market share of a company. An example is Dell Computers who in 2007 lost its market leader title to HP. Within one year HPs market share increased dramatically to 17.6% while Dells managed only 13.9%. Apple comes third with a global market share of 2.6%, but that can change rapidly. Also for Apples iphone the current market share is only 6.5% compared to Blackberry which holds 41% and Palm at 9%, but the iphone is relatively new. It was introduced in July 2007 a nd immediately took over 28% market share of the US smart phone industry showing competitive strength of the product. Apple with iphone is challenging the market leaders and its market share is increasing every quarter. Therefore, a five year forecast cannot be accurate for analysing its future position. Also, however, if we plot the Mac computer range using market share and market growth rates, it would be positioned in the question mark quadrant. But that would make analysis difficult since two products of the mac range i.e. the ibook and imac are stars but as a SBU plotted in question marks. To manage all the products together would be difficult since some products require investment and some do not, according to the matrix you plan a unit strategy not an individual one. Once again Henderson’s criteria of having a balanced portfolio for success would not be applicable in the SBU matrix either. Currently, Apple’s ipod business unit is a market leader with majority market share and high market growth and would be plotted as a star, and the iphone and mac ranges would be placed in the question mark quadrant. It does not have any cash cows or dogs. A successful organization has to have cash cows from where cash flow is diverted into stars and question marks. The ipod sales at present is generating enough cashflow, not only to sustain itself but the other SBUs as well. If we blindly believe Henderson’s assumption then logically Apple should be in dire trouble whereas it is actually increasing its market share and cash flow with all three units. Another drawback of using the BCG matrix would be giving its competitors easier understanding of its strategy. With the company’s annual reports and market shares available publically, if competitors like HP and Blackberry know that Apple is using the BCG matrix as the sole analysis method they can easily construct a matrix for Apple and figure out its future strategies. Therefore, even though the BCG matrix could be useful to Apple Inc. for analysing its products strength and could be used as a decision tool, it would not be useful for future decision concerning its SBUs. It has to be admitted though that the BCG in its simplicity maybe can be more effective in another industry. It can be used as an internal analysis method but using it as the sole decisions making analysis method could be hazardous for the company. This is further confirmed by Seeger who says that â€Å"no management model can safely substitute for analysis and common sense† (1984:97). Apple would benefit using the SID techniques, risk analysis e.g. the monte carlo risk analysis model as well as personal experience and judgement before making any future decisions for its strategic business units. Conclusion We have thus seen how as a competitive tool the BCG matrix has its advantages and disadvantages. The main advantage being its simplicity and ease of plotting, â€Å"but elegance and simplicity in a theory’s presentation cannot guarantee sanity in its use† (Seeger, 1984:93). At the same time the matrix has its disadvantages in not having clear boundaries of what a market is and the criterion for market share and growth and the effect of external factors on it. To gain a competitive advantage a company aims towards â€Å"making an outlay of cash now in the expectation of extra cash coming in the future† (Dixon, 1994:21). For that they need to be in a competitive position and know which units to invest in and which to divest. BCG matrix makes this decision easier for managers but it has to be utilized in a carefully evaluated way. The matrix does give an indication of SBUs performance in the current market but it is not a model that should be followed without use of other methods of analysis and use of judgment by managers. This can be summarized in the words of Porter who affirms this by saying that â€Å"the growth/share matrix can be one component of a competitor analysis when combined with other kinds of analysis† (Porter, 1980:364) or Hooley et al who say that â€Å"it is clearly inadequate as a complete solution, but is of undisputed value as a starting point in many analyse† (2004:72). Therefore, not begrudging BCG matrix the benefits it offers mangers; it is defective as a sole analysis model for competitive strategy and still needs careful evaluation before any decision can be finalized. Bibliography Ansoff, H. I. (1957) Strategies for Diversification. Harvard Business Review, 35(5):113-124, Online available at: http://web.ebscohost.com/ehost/detail?vid=4hid=106sid=2bad248a-b6cb-4c13-81c2-74db4080bfda%40sessionmgr102 (Accessed 15th June 2008) BCG: The Boston Consulting Group, (2008). The Experience Curve Reviewed. IV. The Growth Share Matrix or The Product Portfolio. Online available at: http://www.bcg.com/publications/files/Experience_Curve_IV_Growth_Share_Matrix_1973.pdf (Accessed 12th July 2008) Beard, D. W. Dess, G.G. (1981) Corporate-Level Strategy, Business-Level Strategy, and Firm Performance. The Academy of Management Journal, 24(4):663-688, Online available at: http://www.jstor.org/stable/256169?Search=yesterm=corporate-levelterm=performanceterm=firmterm=strategyterm=business-levellist=hidesearchUri=%2Faction%2FdoBasicSearch%3FQuery%3DCorporate-Level%2BStrategy%252C%2BBusiness-Level%2BStrategy%252C%2Band%2BFirm%2BPerformance%26dc%3DAll%2BDisciplinesitem=1ttl=194returnArticleService=showArticle (Accessed 22nd May 2008) Calandro Jr, J Lane, S. (2007) Special Section: Winning in your industry: new tools and strategies. A new competitive analysis tool: the relative profitability and growth matrix. Strategy and Leadership, 35(2):30-38, Online Available at: http://www.emeraldinsight.com/Insight/viewContentItem.do?contentType=ArticlecontentId=1596528 (Accessed 2nd May 2008) Coate, M.B. (1983) Pitfalls in Portfolio Planning. Long Range Planning, 16(3): 47-56, Online available at : http://www.sciencedirect.com/science?_ob=ArticleURL_udi=B6V6K-45PMPYS-14_user=10_coverDate=06%2F30%2F1983_alid=760368145_rdoc=3_fmt=high_orig=search_cdi=5817_sort=d_docanchor=view=c_ct=3_acct=C000050221_version=1_urlVersion=0_userid=10md5=f8879374940c70491a7e8906d1bc6068 (Accessed 24th June, 2008) Daft, R. L. (2008) New Era of Management, 2nd ed. Mason: Thomson Higher Education. Derkinderen, F. G. J. Crum, R. L. (1984) Pitfalls in Using Portfolio Techniques – Assessing Risk and Potential. Long Range Planning, 17(2): 129-136. Online available at: http://www.sciencedirect.com/science?_ob=ArticleURL_udi=B6V6K-45K4GRJ-9P_user=6649953_coverDate=04%2F30%2F1984_alid=760368145_rdoc=2_fmt=high_orig=search_cdi=5817_sort=d_docanchor=view=c_ct=3_acct=C000010181_version=1_urlVersion=0_userid=6649953md5=4eb70387aca6a81b0bed14dab76607ae (Accessed 24th June, 2008) Dixon, R. (1994) Investment Appraisal. CIMA, rev.ed. London: Kogan Page Hamel, G. Prahalad, C. K. (1994) Competing for the Future. Harvard Business Review. 72(4): 122-128, Online Available at: http://web.ebscohost.com/ehost/detail?vid=5hid=107sid=728905ba-dc97-471c-a829-b8c61346578f%40sessionmgr108 (Accessed 23rd April 2008) Henderson, B.D. (1970). The Product Portfolio. Reprinted in Stern, C.W. (ed.) and Stalk, G. (ed.) (1998). Perspectives on Strategy From The Boston Consulting Group, pp. 35-37, John Wiley and Sons, New York. Henderson, B.D. (1977) The Corporate Portfolio. Reprinted in Stern, C.W.  and Stalk, G. (eds.) (1998). Perspectives on Strategy From The Boston Consulting Group, pp. 203-205, New York: John Wiley and Sons Hooley, G. Saunders, J. Piercy, N. (2004) Marketing Strategy and Competitive Positioning. 3rd Ed. Essex: Prentice Hall. Apple Investor Relations, (2007) Apple Inc. 10-K Annual Report. Available from http://phx.corporate-ir.net/phoenix.zhtml?c=107357p=irol-reports (Accessed 17th May 2008) Johnson, G. Scholes, K Whittington, R. (2005) Exploring Corporate Strategy. 7th Ed. London : Prentice Hall. Porter, M. E. (1980) Competitive Strategy. New York : The Free Press. Thompson Jr, A.A, Strickland III, A.J. Gamble, J. E. (2007) Crafting and Executing Strategy. 15th Ed. New York : McGraw-Hill Irwin. Wit, B.D. Meyer, R. (2004) STRATEGY-Process, Content, Context. 3rd Ed. London : Thompson Learning. XML Database: An Introduction and Analysis XML Database: An Introduction and Analysis XML, mnemonic of eXtensible Markup Language is one of the most extensively used data format and is used as a standard for exchange of data over the internet. As large amount of data is represented as XML documents, techniques like RDMS have to be used to store and query these XML documents. There are two well known approaches for parsing an XML document to convert into relational DBMS: SAX and DOM parsing. In this research, both these methods are studied and then the performance is compared. Some alternative ways of data structuring and tagging from tables of RDBMS as a hierarchical XML document has been studied. As a final result, the best alternative which will provide with the best and effective performance for capturing and querying XML data using RDBMS can be found out. When a large amount of data is to be loaded into an XML document, it becomes important to execute the request query and save the process at XML document. One way is to use XML native data base system. This has two weaknesses 1. eXtended Markup Language resident database system is not ample to save data and it cannot contain the complicated query at relational DBMS. 2. It is impossible for the users to access XML documents and data that are stored in a relational DBMS. To overcome the above mentioned weaknesses, querying and storing XML data techniques using RDBMS are used. The steps for this approach are- 1. Data or an XML document is saved by making relational table design. 2. XML data is divided by separating them into columns in the presented table. 3. SQL Queries are used to get access to the XML document format obtained in RDBMS dta format. To transfer data from XML to data base, the strategy is to use C# as middleware. This research can be done by parsing technique with the help of SAX parser or by using XML Tree Class. To do the vice versa, the present format of XML document from relational SQL SERVER 2008 database supported by C# script, used as middleware; is converted with the help of tagging and structure. All alternatives (outside engine) done by tagging and structuring process implies that a part of the task was done outside the relational database engine. For comparing the XML document and RDBMS from the point of speed in loading the process in the browser following tasks were performed:- Searching of the data in the XML document is done with the help of DATA binding technique. Presentation of the XML data from RDBMS is done by searching data from XML document which was saved into SQL database, than with the help of DOM Tree method the result of the query is saved as a XML Document Database problems in XML They are hard to update. We cannot implement the constraints. Its difficult to optimize the xml database. Hard to maintain the consistency Data Storage and Data Transmission: These two are different concepts. In data storage we store data and while storing it we need to check the validity of the data. In Data Transmission we simple transfer the data from one system to the other. XML are generally used for the Data Transmission purpose. COMPARISON Relational Database XML Database META DATA Definition CREATE TABLE DEFINE XML SCHEMA Persistence of DATA INSERT,UPDATE CREATE XML DOCUMENT QUERY SELECT XPath ,XQuery 1.2 BENEFITS AND LIMITATIONS OF DIFFERENT DATABASE TECHNOLOGIES: Speed is the major advantage of creating database with objects. In OODBMS (Object oriented Database Management System) data is stored as objects but not in the form relational rows and columns such as in relational DBMS that is why OODBMS is faster than relational DBMS. OODBMS is more applicable than relational DBMS (RDBMS) for some tasks. This is because OODBMS performs many operations using navigational interfaces where as RDBMS uses declarative interfaces. OODBMS follows pointers to implement navigational access to data in an efficient manner. One disadvantage of RDBMS s is we need relational mapping layer to map the entire model for application objects to the database object model, whereas in OODBMS there is no need to match those layers. In RDBMS due to this mapping there may be an impedance mismatch and there is no such problem in OODBMS and it also increases the performance. OODBMS has some drawbacks like:- As it is said above OODBMS uses pointers to implement navigational access to data this is one of the drawback as in general purpose queries this will lead to delay the output and also becomes complicated than relational One more drawback is that there is no mathematical foundation for OODBMS, unlike RDBMS. This makes OODBMS weaker than RDBMS in supporting queries. The difference between data-base centric thinking and oop is in the way it views the world. The first one views the world through a viewpoint which is declarative and attribute-driven. The latter one views through a viewpoint which is behavioural. This is one of the major differences between databases and OOP. Many consider database technology as a failure. Hence attempt are being made in research and industrially to closely integrate database functionality into object programming languages. 1.3 DIFFERENT APPROACHES FOR THE DATABASE DESGIGN Different approaches for the database design includes data model approach design approach and so on. Starting with the data model approach: For effective project implementation database design is most important aspect thats why should be completed within given time line to give economical approach in project developing phase. Data model construction and updating on change of data deign in necessary as every application will need data storage. It is one of the most crucial parts of an application for developer and user as well. The different normal forms are:- 1st Normal Form Similar group should be stored in different table and tables should be provided by primary key to identify columns. 2nd Normal Form To protect data redundancy foreign key must be introduced. 3rd Normal Form Primary key plays a prominent role making every column in the table related. This makes every column a dependent of the primary key of the table. Those fields not satisfying above property should be stored in a new table with a new key. 4th Normal Form: Independent relationship should be removed from the relation database. 5th Normal Form Many to many relationships can be related logically thats why its also known as Exists in never-never land. Followed by the data model approach is the design approach which is explained as below: 2nd and 3rd form designs should be used for large application having enhancement scope. Scalability should be kept in mind during designing phase of application. Third form can ask you to make host of tables with less number of entity which reduces data replication across tables. While talking to a fellow developer i came to know that they used 3rd form as they were quite sure that it would not create dependency problem for their application as they used comma to differentiate primary values in a defined field of a table. Classes that can be used as data object which contain properties, actually a description and quality of entity element and these properties are introduced by getter and setter, should be designed at the time of creating class diagram for an application. Both object and property shows real life entity. For creating the database tables we need following constraints and relationships to be there in that table so that final database developed will be more effective and understandable. These are explained in the Constrains section under the database design part with the help of query tools. LO2 DEsign and implementation: 2.1 Requirement: This assignment is to understand the database design concepts, implement the database designed and execute the queries to obtain the required result with the help of SQL Server database. It also helps in developing Client side application to modify, update and view the results through C#. Net. Deeveedeezee, the online DVD shop records the customer details, DVD details which includes title, genres, Studio, classification, actors, directors and other information. It provides the users to rate a DVD using star scaling ranging from 1 to 5 and also allows them to create their own wish list. Our objective is to understand how the database of this DEEVEEDEEZEE is maintained, practically implementing it with the help of SQL Server and develop an client end application that interacts with SQL Server and provides the user the authority to view and add details. The WindowsFormApplication1 is the project tile and the client application can be run by opening the solution in MS Visual studio and Debugging the Code. It can be done by clicking on Build->Start Debugging. Function: Deeveedeezee.com as mentioned above provides the online customers various details about the DVDs, their reviews, ratings, synopsis and also allows them to create their own wish list. To maintain such a database, it has to be well designed and effectively handled by the administrator or the team of database continuously monitoring and assessing the required information. Every user is provided with unique user-id and password with which they can login and access the required information about the DVDs. They can even provide their comments, reviews and ratings as well which are again recorded under their user-id and are provided when ever required or asked for. Also deeveedeezee handling such large information from the website requires an Administrator or a team working on databases so that it is well managed and maintained. Thus every administrator and the team member again have got their own user-ids and passwords so that they can login into the databases and do their assigned tasks. These discussed details are presumed to be handled and the rest of the discussion focuses on the database designing, implementation and development of a client application which interacts with SQL server to provide them the easier access to add and view data from the database. Thus the backend database has got various data rules, definitions and constraints to be handled. Recording distinct information and accessed by different types of users, database has got different tables and views with appropriate fields and attributes. The database design diagram shown below shows the clear picture of how the database is designed, the various tables it maintains, attributes it holds and their properties. DATABASE DESIGN DIAGRAM ERD The diagram shown below depicts the various tables and its attributes. This design is modified and improved further with the help of Entity Relationship Diagram. The Entity Relationship diagram of the report is as below. The rectangle boxes are considered as entities The ovals are treated as attributes. Rhombus represents relationship between the entities. The diagram represents all entities, attributes and also the relations between the entities. It is a graphical representation of the relations. The ER diagram is a good means of understanding the relationships between the entities and attributes. In the below diagram, different users can be uniquely determined by its attributes like userId, email, firstName etc. User entity is related to DVD by Reviews. The ratings given to the movie by viewers are recorded through Ratings. Comments are the reviews of viewers. DVD on the other hand can be uniquely determined by its attributes like dvdId, title, studio etc. Role connects DVD and People. Role can be various tasks of people like actors, producer, and director. People have attributes of peopleId and peopleName. dvdDetails dvdId title retailPrice releaseDate runningTime synopsis genres studio users userId initials firstName surname dateOfBirth address email mobileNo telephoneNo password timestamp studio Fig: Database Design Add view Users Add roles id peopleId dvdId role wishlist id email userId wishlist Customers view dvdClassification id dvdId classification description people peopleId peopleFirstName review reviewId userId email dvdId review rating timestamp Entity Relationship Diagram (ERD) peopleName peopleId people Role dvdId title retailPrice releaseDate runningTime synopsis genres studio DVD RatingComment Review userId dateOfBirth surName firstName initials User telephoneNo mobileNo email address password 2.2 4.3 DOCUMENTATION AND Implementation OF THE DATABASE: Database Implementation and Datatype Usage The designed database discussed with the help of database design diagram and entity relationship diagram are implemented in SQL with the help of MS visual studio. All the attribute and tablenames are in used as per the conventions like using camel case, singular table name and so on. The output tables, conents nd query results are recorded with the help of screenshots and are shown as below: Table1: user table Comments: The details of the users like firstName,email, DOB, address, contact details are recoderd. In this table Primary key contraint,Not Null constraints are present. Datatypes of each attribute as per the given data rules are being implemented as shown above. Table2: dvdDetail table Comments: It stores the all details of DVD like running time ,release date,title and creates an unique dvd id. In this table Primary key contraint,Not Null constraints are present Datatypes of each attribute as per the given data rules are being implemented as shown above. Table3: review table Comments: It stores the reviews and the rating i.e No. Of stars given to the DVD by the user. It has not null contraints ,check constraints which checks that the rating field have value greater than 0 and less than 5,foreign key contrains.email is the foreign key which is refrencing to the primary key of the users table. userId and dvdId the combination of these two is used as a primary key. Table4: people table Comment : It stores the name of the people involved in the movie or DVD and gives a unique id to each of them that is peopleId. Table5: role table Comment: It stores the role of the each people involved in the movie like director,producer,actor etc. It has a foreign key dvdId which refrences to the dvdDetails dvdId.id is the primary key which is a identity with a seed 1. Table6: wishlist table Comment: It stores the wishlist of each user in comma seprated form. In this table id is the identity with seed 1 and userId is the primary key and email is the foreign key. Table7: dvdClassification table Comment: It stores the classification of the dvd with a little description about the dvd. dvdId is the foreign key and id primary key and also a identity with seed 1. Constraints NOT NULL Constraint: This is a constraint which restricts the user from entering the null value or leaving it blank. The user needs to provide the details for that field. It becomes necessary for the user to enter. Fig: NOT NULL CONSTRAINT In the given example id,email,userId fields can not be left empty. User need to provide these details otherwise it will through error.wishlist can be left empty. Query for this constraint CREATE TABLE wishList ( id int NOT NULL, email varchar(100) NOT NULL , userId int , wishList varchar(MAX) NOT NULL) Primary key constraints: This constraint is used to uniquely identify the row in the table. This field is not repeated in any of the other row. Primary key of one table can be used as the reference or foreign key of the other table. Fig: PRIMARY KEY Constraint In the above example userId is the primary key. All the rows in this table will have different userId. Fig: Showing the implication of Primary Key constraint In the above figure it is clealy shown that the userId is different for different rows. Unique constraint: This is the constraint used for uniquely identifying a particular column. All the values in a particular column are different. Fig: UNIQUE CONSTAINT In the above figure userId field has a unique constraint.It is a identity with a seed of 1.Every time a new row is inserted is automatically increments the value of the userId which ensures that in userId column no value is repeated. Fig: Showing the implication of Unique constraint In the above figure in userId column no value is repeated . userId has a unique constraint. Foreign key constraint: This constraint ensures that the database has a refrential integrity. Foreign key is works on the refrence of the primary key of some other table. Query: CREATE TABLE wishList (id int , userId int PRIMARY KEY, email varchar (100) references users(email) wishList varchar(MAX) ); Fig: Foreign Key Constraints In the above figure email is the foreign key which refrences the email i.e the primary key of the users table. Check constraint: This constraint makes sure that all values in a column satisfy certain specific criteria. Query: CREATE TABLE review ( reviewId int NOT NULL, userId int NOT NULL, dvdId int NOT NULL, review varchar(200) NOT NULL, rating float CHECK (rating0) timestamp timestamp) This check constraint helps in validation of ensuring the star rating to be between 0 and 5. Or CREATE TABLE dvdDetail ( dvdId int NOT NULL primary key identity(1,1), retailPrice int NOT NULL, title varchar NOT NULL, synopsis varchar NOT NULL, runningTime int CHECK (runningTime>10 AND rating genres varchar NOT NULL studio varchar NOT NULL) This check constraint ensures that the running time to be between 10 and 5000. LO3 Use of Manipulation and Query tools 3.1 Benefits of Manipulation and Query Tools in Database Manipulation and Query tools in database include those commands and statements that on execution would help in data manipulation. SQL maintains certain standards which includes DML or Data Manipulation Language. The major SQL commands that include in this DML are INSERT, UPDATE, ALTER and so on. These tools or query commands help in modification of tha data and constant updates that have to be made. SQL Server 2008 offers a very good platform that provides access to database and also it provides the query window for executing various commands that include in the Data Manipulation Language. They are very much useful in making it easier for the user to modify the data and update some information. A fine picture of these tools and their functioning can be understood in the sections below: 3.2 Implementation Query tools: Query for viewing all DVDs belonging to the Romantic Comedy genre in order of price. Table: Initial data in dvdDetails table Query:- SELECT dvdId, title, retailPrice, releaseDate, runningTime, synopsis, genres, studio FROM dvdDetails WHERE (genres = Romantic Comedy) ORDER BY retailPrice The query when executed would result into the table as shown below: Table: Result of the query Query for viewing all DVDs belonging to the Universal Pictures UK studio. Table:Initial data in dvdDetails table Query:- SELECT dvdId, title, retailPrice, releaseDate, runningTime, synopsis, genres, studio FROM dvdDetails WHERE (studio = Universal Pictures UK Studio) Table: Result of the query Query for viewing all DVDs in which Johnny Depp or De Caprio have acted. Table: Initial data in dvdDetails table Query:- SELECT dvdDetails.dvdId, dvdDetails.title, dvdDetails.retailPrice, dvdDetails.releaseDate, dvdDetails.runningTime, dvdDetails.synopsis, dvdDetails.genres, dvdDetails.studio, choose.dvdId AS Expr1 FROM dvdDetails INNER JOIN (SELECT DISTINCT [NATURAL].dvdId FROM roles AS [NATURAL] INNER JOIN people ON people.peopleId = [NATURAL].peopleId WHERE (people.peopleFirstName = Shahrukh) OR (people.peopleFirstName = Amir khan)) AS choose ON choose.dvdId = dvdDetails.dvdId Table: Result of the query View all the DVDs which Steven Spielberg has directed. Table:Initial data in dvdDetails table Query:- SELECT dvdDetails.dvdId, dvdDetails.title, dvdDetails.retailPrice, dvdDetails.releaseDate, dvdDetails.runningTime, dvdDetails.synopsis, dvdDetails.genres, dvdDetails.studio, choose.dvdId AS Expr1 FROM dvdDetails INNER JOIN (SELECT DISTINCT [NATURAL].dvdId FROM roles AS [NATURAL] INNER JOIN people ON people.peopleId = [NATURAL].peopleId WHERE ([NATURAL].role = Director) OR (people.peopleFirstName = Farah Khan)) AS choose ON choose.dvdId = dvdDetails.dvdId Table: Result of the query View of all the DVDs suitable for a Valentines Gift. Table: Initial data in dvdDetails table Query:- SELECT dvdId, title, retailPrice, releaseDate, runningTime, synopsis, genres, studio FROM dvdDetails WHERE (genres = Romantic) Table: Result of the query View of all the DVDs suitable for children (under 10s) to watch. Table: Initial data in dvdDetails table Query:- SELECT dvdId, title, retailPrice, releaseDate, runningTime, synopsis, genres, studio FROM dvdDetails WHERE (genres = under 10) Table: Result of the query DVDs on the wishlist for a specified customer Table:Initial data in wishlist table Query:- SELECT wishList FROM wishlist WHERE (userId = 1) Table: Result of the query DVDs in order of release date Table: Initial data in dvdDetails table Query:- SELECT dvdId, title, retailPrice, releaseDate, runningTime, synopsis, genres, studio FROM dvdDetails ORDER BY releaseDate Table: Result of the query DVDs belonging to a specified studio in order. Table:Initial data in dvdDetails table Query:- SELECT dvdId, title, retailPrice, releaseDate, runningTime, synopsis, genres, studio FROM dvdDetails ORDER BY studio Table:Result of the query To add a sample DVD. Table: Initial data in dvdDetails table Query:- INSERT INTO dvdDetails (retailPrice, releaseDate, genres, studio, runningTime, title) VALUES (99, CONVERT(DATETIME, 1990-05-02 00:00:00, 102), under10, Coke Studio, 1100, Tom) Table: Result of the query Table:Data in dvdDetails table after executing query An update query to change the review star rating assigned by a customer to a DVD. Table: Initial data in review table Query:- UPDATE review SET rating = 3.5 WHERE (userId = 1) Table:Result of the query Table:Data in review table after executing query 3.3 EVALUATION OF QUERY TOOLS: Queries can be simple and complex. For the complex queries we make the stored procedures, views and trigger which we can use later in our code and for the simple query we can directly embed in the code. Stored procedures contain more than one query and the stored procedure is pre compiled method for accessing the data from the database. Queries including select, insert, update etc are written in the procedures. After committing the query if any error occurs then we roll back and ignore the result of that query. If the correct relationship is present between the tables than only we can get the correct result from the data LO4 Use, documenting and implementing of Relational Database Management System 4.1 4.2 TESTING OF THE RELATIONAL DATABASE AND ITs IMPLEMENTATION Queries in the section 3.2 produce the result correctly i.e. the output of different queries are correct and as we know that queries will give the correct output only when the relation between the tables are correct i.e. the relational database is correctly made. Queries in the view section and the also in the client application desired view produce a correct result which shows that the implementation of the relational database is correct. Client Application: Microsoft Visual Studio has been used for developing the client application in C#.NET. Our main objective was to provide the user with the facility to add and view the data from the database so that proper updating can be done and relevant information can be provided to the user through the online website of deeveedeezee.com. The prerequisites for this application are: MS Visual Studio installed in the computer system with C#.NET and SQL server. The MDF file or the database has to be loaded into the application through MS Studio by Data-> Add new datasources-> Database. Once the database is loaded, the SqlConnection string path has to be modified to the path where the database is located. Every user of this client application is provided with unique username and password through which he can log in into the application. The application only highlights the required and mentioned features in the assignment of VIEW and ADD. The figure below represents the Client Application as it looks after logging in successfully. afterlogin client app.JPG Fig: Client Application The user allowed viewing and adding the data, on clicking the respective buttons would be directed to the forms as shown below: view and add.jpg Fig: View and Add forms One can view the details of DVDs, Reviews posted by the customers through online website, Ratings provided by them, their wish lists and the user data. One can add up details to be displayed about DVD to the customer, roles played by various actors, actress and other working staff for that particular product, rating as per the reviews and rating awarded by the customers and also new users data. The following sets of figures describe how the data and various details are added to through the client application into the database: add dvddetails.JPG Fig: Add dvdDetails On clicking the submit button, in the coding section the query to insert the details of DVD which includes dvd Name or title, Price, Genres, Date of Release of the DVD, Studio and synopsis is executed and the table of dvdDetails is updated as shown above in the query section. add ratings.JPG Fig: Add DVD Ratings Viewing the details of review and rating provided by the customers through online, the user of this client application can rate the dvd accordingly. He has to identify the dvd ID and based on the information he has got he can provide the rating on a scale of 1 to 5. As explained above similarly on clicking the submit button, the query gets exected in the back and the table of concerned gets updated as shown above in the query section. add roles1.JPG Fig: Add Role Details This helps in providing the customer regarding the cast details of the product. add users.JPG Fig: Add Users Details This helps in validating the user by adding them into the database. Similarly viewing would allow the user with the following output: Fig: View of dvdDetails dvdDetails includes title, price, date of relase and such other features that described the dvd. dvdID is uniquely and automatically generated and is considered as the primary key. From the data available in this table dvds can be classified based on their genre and studio as per requirement. Fig: View of Roles This table helps in updating the online site with the roles played by various persons involved in making this product. The persons can be identified by their unique ids. Fig: View of Wishlist As provided online by the customers their wishlist gets updated in the database ad can be viewed for knowing required information about the user and his preferences for future use. Fig: View of Users data Users or customers using deeveedeezee.com online and th staff using this application, all the details are provided in this table from which one can know about their personal details and contact information to be used for various purposes. Fig: View of Reviews Based on the data provided in the reviews by online viewers, the users of this application can add the modified rating based on data collected from many sources. 2.3 Application of a range of database tools to enhance user interface In all the above view forms, GRIDVIEW t

No comments:

Post a Comment