Database Design For Mere Mortals - Pearsoncmg

2y ago
19 Views
2 Downloads
632.49 KB
89 Pages
Last View : Today
Last Download : 3m ago
Upload by : Helen France
Transcription

Database Designfor MereMortals Third Edition

This page intentionally left blank

Database Designfor MereMortals A Hands-on Guide to RelationalDatabase DesignThird EditionMichael J. HernandezUpper Saddle River, NJ Boston Indianapolis San FranciscoNew York Toronto Montreal London Munich Paris MadridCapetown Sydney Tokyo Singapore Mexico City

Many of the designations used by manufacturers and sellers to distinguish theirproducts are claimed as trademarks. Where those designations appear in thisbook, and the publisher was aware of a trademark claim, the designations havebeen printed with initial capital letters or in all capitals.The author and publisher have taken care in the preparation of this book, butmake no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequentialdamages in connection with or arising out of the use of the information or programs contained herein.The publisher offers excellent discounts on this book when ordered in quantityfor bulk purchases or special sales, which may include electronic versions and/orcustom covers and content particular to your business, training goals, marketingfocus, and branding interests. For more information, please contact:U.S. Corporate and Government Sales(800) 382-3419corpsales@pearsontechgroup.comFor sales outside the United States, please contact:International Salesinternational@pearsoned.comVisit us on the Web: informit.com/awCataloging-in-Publication Data is on file with the Library of Congress.Copyright 2013 by Michael J. HernandezAll rights reserved. Printed in the United States of America. This publication isprotected by copyright, and permission must be obtained from the publisher priorto any prohibited reproduction, storage in a retrieval system, or transmission inany form or by any means, electronic, mechanical, photocopying, recording, orlikewise. To obtain permission to use material from this work, please submit awritten request to Pearson Education, Inc., Permissions Department, One LakeStreet, Upper Saddle River, New Jersey 07458, or you may fax your request to(201) 236-3290.ISBN-13: 978-0-321-88449-7ISBN-10:0-321-88449-3Text printed in the United States on recycled paper at Edwards Brothers Malloy inAnn Arbor, Michigan.First printing, February 2013

For my wife, who has always believed in me and continuesto do so.To those who have helped me along my journey—teachers,mentors, friends, and colleagues.Dedicated to anyone who has unsuccessfully attemptedto design a relational database.

This page intentionally left blank

About the AuthorMichael J. Hernandez has been an independent relational database consultant specializing in relational database design. He has morethan twenty years of experience in the technology industry, developing database applications for a broad range of clients. He’s been acontributing author to a wide variety of magazine columns, white papers, books, andperiodicals, and is coauthor of the best-sellingSQL Queries for Mere Mortals (Addison-Wesley, 2007). Mike has been atop-rated and noted technical trainer for the government, the military,the private sector, and companies throughout the United States. Hehas spoken at numerous national and international conferences, andhas consistently been a top-rated speaker and presenter.Aside from his technical background, Mike has a diverse set of skillsand interests that he also pursues, ranging from the artistic to themetaphysical. His greatest interest is still the guitar, as he’s been apracticing guitarist for more than forty years and played professionally for fifteen years. He is a great cook, loves to teach (writing, publicspeaking, music), has a gift for bad puns, and even reads tarot cards.He says he’s never going to retire, per se, but rather just change whatever it is he’s doing whenever he finally gets tired of it and move on tosomething else that interests him.vii

This page intentionally left blank

uctionxxviixxixWhat’s New in the Third EditionxxxiiWho Should Read This BookxxxiiThe Purpose of This BookxxxivHow to Read This BookxxxviHow This Book Is OrganizedxxxviiPart I: Relational Database DesignxxxviiPart II: The Design ProcessxxxviiPart III: Other Database Design IssuesxxxixPart IV: AppendixesxxxixA Word About the Examples and Techniques in This BookA New Approach to LearningxliPART I: RELATIONAL DATABASE DESIGNChapter 1: The Relational DatabaseTopics Covered in This Chapter3Types of Databases4Early Database Models5The Hierarchical Database ModelThe Network Database Model9xl135ix

xContentsThe Relational Database Model12Retrieving Data15Advantages of a Relational Database16Relational Database Management Systems18Beyond the Relational Model19What the Future Holds21A Final Note22Summary22Review Questions24Chapter 2: Design Objectives25Topics Covered in This Chapter25Why Should You Be Concerned with Database Design?The Importance of Theory27The Advantage of Learning a Good Design MethodologyObjectives of Good Design30Benefits of Good Design31Database Design Methods32Traditional Design Methods32The Design Method Presented in This Book34Normalization35Summary38Review Questions39Chapter 3: Terminology41Topics Covered in This Chapter41Why This Terminology Is Important41Value-Related Terms43Data43Information43Null45The Value of Nulls46The Problem with Nulls472529

ContentsStructure-Related lationship-Related Terms59Relationships59Types of Relationships60Types of Participation65Degree of Participation66Integrity-Related Terms67Field Specification67Data Integrity68Summary69Review Questions70PART II: THE DESIGN PROCESS73Chapter 4: Conceptual Overview75Topics Covered in This Chapter75The Importance of Completing the Design Process76Defining a Mission Statement and Mission Objectives77Analyzing the Current Database78Creating the Data Structures80Determining and Establishing Table Relationships81Determining and Defining Business Rules81Determining and Defining Views83Reviewing Data Integrity83Summary84Review Questions86xi

xiiContentsChapter 5: Starting the Process89Topics Covered in This Chapter89Conducting Interviews89Participant Guidelines91Interviewer Guidelines (These Are for You)The Case Study: Mike’s Bikes98Defining the Mission Statement100The Well-Written Mission Statement100Composing a Mission Statement102Defining the Mission Objectives105Well-Written Mission Objectives106Composing Mission Objectives108Summary112Review Questions113Chapter 6: Analyzing the Current Database93115Topics Covered in This Chapter115Getting to Know the Current Database115Paper-Based Databases118Legacy Databases119Conducting the Analysis121Looking at How Data Is Collected121Looking at How Information Is Presented125Conducting Interviews129Basic Interview Techniques130Before You Begin the Interview Process . . .137Interviewing Users137Reviewing Data Type and Usage138Reviewing the Samples140Reviewing Information Requirements144Interviewing Management152Reviewing Current Information Requirements153Reviewing Additional Information Requirements154

ContentsReviewing Future Information Requirements155Reviewing Overall Information Requirements155Compiling a Complete List of Fields157The Preliminary Field List157The Calculated Field List164Reviewing Both Lists with Users and Management165Case Study166Summary171Review Questions172Chapter 7: Establishing Table Structures175Topics Covered in This Chapter175Defining the Preliminary Table List176Identifying Implied Subjects176Using the List of Subjects178Using the Mission Objectives182Defining the Final Table List184Refining the Table Names186Indicating the Table Types192Composing the Table Descriptions192Associating Fields with Each Table199Refining the Fields202Improving the Field Names202Using an Ideal Field to Resolve Anomalies206Resolving Multipart Fields210Resolving Multivalued Fields212Refining the Table Structures219A Word about Redundant Data and Duplicate Fields219Using an Ideal Table to Refine Table Structures220Establishing Subset Tables228Case Study233Summary240Review Questions242xiii

xivContentsChapter 8: Keys243Topics Covered in This Chapter243Why Keys Are Important244Establishing Keys for Each Table244Candidate Keys245Primary Keys253Alternate Keys260Non-keys261Table-Level Integrity261Reviewing the Initial Table Structures261Case Study263Summary269Review Questions270Chapter 9: Field Specifications273Topics Covered in This Chapter273Why Field Specifications Are Important274Field-Level Integrity275Anatomy of a Field Specification277General Elements277Physical Elements285Logical Elements292Using Unique, Generic, and Replica Field Specifications300Defining Field Specifications for Each Field in the Database306Case Study308Summary310Review Questions311Chapter 10: Table Relationships313Topics Covered in This Chapter313Why Relationships Are Important314Types of Relationships315One-to-One Relationships316One-to-Many Relationships319

ContentsxvMany-to-Many Relationships321Self-Referencing Relationships329Identifying Existing Relationships333Establishing Each Relationship344One-to-One and One-to-Many Relationships345The Many-to-Many Relationship352Self-Referencing Relationships358Reviewing the Structure of Each Table364Refining All Foreign Keys365Elements of a Foreign Key365Establishing Relationship Characteristics372Defining a Deletion Rule for Each Relationship372Identifying the Type of Participation for Each Table377Identifying the Degree of Participation for Each Table380Verifying Table Relationships with Users and Management383A Final Note383Relationship-Level Integrity384Case Study384Summary389Review Questions391Chapter 11: Business Rules393Topics Covered in This Chapter393What Are Business Rules?393Types of Business Rules397Categories of Business Rules399Field-Specific Business Rules399Relationship-Specific Business Rules401Defining and Establishing Business Rules402Working with Users and Management402Defining and Establishing Field-Specific Business RulesDefining and Establishing Relationship-Specific BusinessRules412403

xviContentsValidation Tables417What Are Validation Tables?419Using Validation Tables to Support Business Rules420Reviewing the Business Rule Specifications Sheets425Case Study426Summary431Review Questions434Chapter 12: Views435Topics Covered in This Chapter435What Are Views?435Anatomy of a View437Data View437Aggregate View442Validation View446Determining and Defining Views448Working with Users and Management449Defining Views450Reviewing the Documentation for Each ViewCase Study460Summary465Review Questions466Chapter 13: Reviewing Data Integrity469Topics Covered in This Chapter469Why You Should Review Data Integrity470Reviewing and Refining Data Integrity470Table-Level Integrity471Field-Level Integrity471Relationship-Level Integrity472Business Rules472Views473Assembling the Database Documentation473Done at Last!475458

ContentsCase Study—Wrap-UpSummary476475PART III: OTHER DATABASE DESIGN ISSUESChapter 14: Bad Design—What Not to Do477479Topics Covered in This Chapter479Flat-File Design480Spreadsheet Design481Dealing with the Spreadsheet View Mind-set483Database Design Based on the Database Software485A Final Thought486Summary487Chapter 15: Bending or Breaking the Rules489Topics Covered in This Chapter489When May You Bend or Break the Rules?489Designing an Analytical Database489Improving Processing Performance490Documenting Your Actions493Summary495In Closing497PART IV: APPENDIXES499Appendix A: Answers to Review rChapter1234567501502504505506508510501xvii

101112513516518520521Appendix B: Diagram of the Database Design ProcessAppendix C: Design Guidelines525543Defining and Establishing Field-Specific Business RulesDefining and Establishing Relationship-Specific BusinessRules543Elements of a Candidate Key544Elements of a Foreign Key544Elements of a Primary Key545Rules for Establishing a Primary Key545Elements of the Ideal Field545Elements of the Ideal Table546Field-Level Integrity546Guidelines for Composing a Field Description547Guidelines for Composing a Table Description547Guidelines for Creating Field Names548Guidelines for Creating Table Names548Identifying Relationships549Identifying View Requirements549Interview Guidelines550Participant Guidelines550Interviewer Guidelines550Mission Statements551Mission Objectives551Relationship-Level Integrity551Resolving a Multivalued Field552Table-Level Integrity552Appendix D: Documentation Forms553543

ContentsAppendix E: Database Design Diagram SymbolsAppendix F: Sample DesignsAppendix G: On Normalizationxix557559567Please Note . . .568A Brief Recap569How Normalization Is Integrated into My Design Methodology572Logical Design versus Physical Design and Implementation575Appendix H: Recommended ReadingGlossary579ReferencesIndex597595577

This page intentionally left blank

ForewordTo the Third EditionHere it is, ten years later, and Mike and I cross paths even less thanwe used to. For those who were unaware, we share the same birthday (although he’s much older than me, at least one full year), and wemeet up at least once each year and congratulate ourselves for makingit another year. It’s also funny how Microsoft “reboots” its technologyevery ten years or so, and now, revisiting the foreword I wrote ten yearsago, nothing much has changed—I’m still hip-deep in a new Microsofttechnology, but this time it’s all about WinRT and Windows 8, ratherthan .NET. One thing that hasn’t changed, however, is the need forcarefully planned and executed database design. Nothing Mike wrotein his original volume has changed very much, and although thisnew edition modifies some details, the basics of good database designhaven’t changed in the ensuing ten years. I must confess a little jealousy that Mike has written a book with such enduring shelf life, but, ifhe’s going to have a book that succeeds for this many years, at least it’sa good one. Whether this is your first visit to Mike’s detailed explanation of database design, or your second or third, be assured that you’llfind a carefully considered, helpful path through the vagaries of database design here. But let’s get past the intro, and get to work!—Ken Getz, November 14, 2012From the Second Edition . . .I don’t see Mike Hernandez as much as I used to. Both our professional lives have changed a great deal since I first wrote the forewordto his original edition. If nothing else, we travel less, and our pathscross less often than they did. If you’ll indulge me, I might try to addthat the entire world has changed since that first edition. On the mostxxi

xxiiForewordmundane level, my whole development life has changed, since I’vebought into this Microsoft .NET thing whole-heartedly and full-time.One thing that hasn’t changed, however, is the constant need for data,and well-designed data. Slapping together sophisticated applicationswith poorly designed data will hurt you just as much now as whenMike wrote his first edition—perhaps even more. Whether you’re justgetting started developing with data, or are a seasoned pro; whetheryou’ve read Mike’s previous book, or this is your first time; whetheryou’re happier letting someone else design your data, or you love doingit yourself—this is the book for you. Mike’s ability to explain these concepts in a way that’s not only clear, but fun, continues to amaze me.—Ken Getz, October 10, 2002From the First Edition . . .Perhaps you’re wondering why the world needs another book on database design. When Mike Hernandez first discussed this book with me,I wondered. But the fact is—as you may have discovered from leafingthrough pages before landing here in the foreword—the world doesneed a book like this one. You can certainly find many books detailingthe theories and concepts behind the science of database design, butyou won’t find many (if any) written from Mike’s particular perspective. He has made it his goal to provide a book that is clearly basedon the sturdy principles of mathematical study, but has geared ittoward practical use instead of theoretical possibilities. No matter whatspecific database package you’re using, the concepts in this book willmake sense and will apply to your database-design projects.I knew this was the book for me when I turned to the beginning ofChapter 6 and saw this suggestion:Do not adopt the current database structure as the basis for the newdatabase structure.

ForewordxxiiiIf I’d had someone tell me this when I was starting out on this database developer path years ago I could have saved a ton of time! Andthat’s my point here: Mike has spent many years designing databasesfor clients; he has spent lots of time thinking, reading, and studyingabout the right way to create database applications; and he has put itall here, on paper, for the rest of us.This book is full of the right stuff, illustrated with easy-to-understandexamples. That’s not to say that it doesn’t contain the hardcore information you need to do databases right—it does, of course. But it’sgeared toward real developers, not theoreticians.I’ve spent some time talking with Mike about database design. Overcoffee, in meetings, writing courseware, it’s always the same: Mike ispassionate about this material. Just as the operating system designerseeks the perfect, elegant algorithm, Mike spends his time looking forjust the right way to solve a design puzzle and—as you will read inthis book—how best to explain it to others. I’ve learned much of whatI know about database design from Mike over the years and feel surethat I have a lot more to learn from this book. After reading throughthis concise, detailed presentation of the information you need to knowin order to create professional databases, I’m sure you’ll feel the sameway.—Ken Getz, MCW Technologies (KenG@mcwtech.com)

This page intentionally left blank

PrefaceLife, as the most ancientof all metaphors insists, is a journey . . .—JONATHAN R ABAN,FOR L OVE AND MONEYDATABASEPaths may change andthe course may need adjustment,but the journey continues . . .—MICHAEL J. HERNANDEZDESIGN FOR MERE MORTALS , SECOND EDTIONTo say that the technology field, and database management in particular, has changed significantly in the nine years since the secondedition of this book was published would be an understatement, to besure. Small, handheld devices containing storage capacity and processing power that once would have required several room-sized mainframe computers are now so ubiquitous that many people take themfor granted, especially the more recent generations. (My young nephewwould likely never understand the excitement I experienced when Ipurchased my first 40MB storage expansion card for my IBM PC. Butthat’s another story.) Database management systems can now handleterabytes of data, and there’s recently been a considerable amount ofemphasis on storing, managing, and accessing data “in the cloud.”Is there still a need, then, for a book such as the one you hold in yourhands? Absolutely! Regardless of how complex or complicated databasemanagement becomes, there will always be a need for a book on thebasics of database design. You must learn the fundamentals in orderto know how and why things work the way they do. This is true ofmany other areas of expertise, whether they are technical disciplinessuch as architectural design and engineering or artistic disciplinessuch as music and cooking.xxv

xxviPrefaceMy journey has taken me along new and different paths in recentyears, and I’m really enjoying what I do. I’ve been doing a lot morewriting lately, which is why I thought it was time to do this new edition. I thought I’d share some new nuggets of information I’ve learnedalong the way and perhaps clarify my perspectives on this subject alittle more. Now that I’ve completed this work, I can’t wait to see wheremy journey takes me next.An important note to readers:Visit Informit.com/titles/0321884493 to access additionalcontent referenced in the book.

AcknowledgmentsWriting is truly a cooperative effort, despite what you may have heardabout it. I’m so grateful for the editors, colleagues, friends, and familywho continue to be ready and willing to lend their help. These are thepeople who provided encouragement and kept me focused on the taskat hand, and it is to them that I extend my most heartfelt appreciation.First and foremost, I want to thank my wonderful editor, Joan Murray, for the opportunity to write yet another edition of my book. Wehad been talking about this project for a couple of years, and it washer perseverance, patience, kindness, and leadership that helped medecide to take on this work and bring it to successful completion. I alsowant to thank production editor Caroline Senay for guiding the authorreview process with such a deft hand and copy editor Audrey Doyle forher precise and detailed review of the content. And a special thanksto John Fuller and his production staff—they did great work, as theyalways do! I’ve always had a wonderful relationship with the AddisonWesley team, and I just can’t imagine why I’d ever want to write technical books for anyone else.Next, I’d like to acknowledge my distinguished technical review team:Tracy Thornton, Tony Wiggins, and Theodor Richardson. These folksgraciously and generously gave their time, effort, and expertise to provide me with a wealth of valuable feedback and suggestions. This bookdefinitely benefitted from their contributions. My thanks once again toeach of you for your time and input and for helping to make this edition even better than I first envisioned.xxvii

xxviiiAcknowledgmentsI want to extend a very special thanks to Ken Getz for once againproviding the foreword for my book. Ken is a well-respected expert, acolleague, and a good friend. I’m so pleased to have his thoughts andcomments at the beginning of the book.A special thanks also goes to all of those readers who took the time tosend me their thoughts and comments. I am humbled by their praiseand support and particularly appreciative of the good, constructivecriticism that eventually helped me to improve the material in thisedition. I also wish to thank all the academic institutions, governmentagencies, and commercial organizations that have adopted my bookand made it “standard reading” for those just beginning their databasecareers. I am honored by their support of my work.Finally, I want to thank my wife for her unending patience while I wasenmeshed in my writing. Her help and support have been invaluable,and once again, I owe her a great debt. I would tell you exactly how Ifeel about her, but she abhors any sort of PDA (public display of affection). Instead, I’ll just extend her a laurel and hardy handshake.

IntroductionPlain cooking cannot be entrusted to plain cooks.—COUNTESS MORPHYIn the past, the process of designing a database has been a taskperformed by people in information technology (IT) departments andprofessional database developers. These people usually had mathematical, computer science, or systems design backgrounds and typicallyworked with large mainframe databases. Many of them were experienced programmers and had coded a number of database applicationprograms consisting of thousands of lines of code. (And these peoplewere usually very overworked due to the nature and importance oftheir work!)People designing database systems at that time needed to have a solideducational background because most of the systems they createdwere meant to be used companywide. Even when creating databasesfor single departments within a company or for small businesses, database designers still required extensive formal training because of thecomplexity of the programming languages and database applicationprograms they were using. As technology advanced, however, thoseeducational requirements evolved.Database software programs have evolved quite a bit since the 1980s,too. Many vendors developed software that ran on desktop computersand could be more easily programmed to collect, store, and managedata than their mainframe counterparts. As computing power anddemand for complexity grew, vendors produced software that allowedgroups of people to access and share centralized data within a varietyxxix

xxxIntroductionof environments, such as client/server architectures on computersconnected within local area networks (LANs) and wide area networks(WANs). People within a company or organization were no longerstrictly dependent on mainframe databases or on having their information needs met by centralized IT departments.The emergence and wide use of the laptop computer and the evolution and greater acceptance of the Internet have also played a part indatabase software development. Laptops have become quite powerful,with gigabytes of memory and storage, and extremely fast processingpower. They’ve become so ubiquitous that they’ve all but replaced thedesktop computer in many environments. They’ve also allowed peopleto be connected to the Internet even in such mundane places as coffeeshops, restaurants, and airports. (And I won’t even mention the plethora of other devices that now allow the same type of access—that’s foranother book and another discussion.) As such, there’s been a greaterpush by both software vendors and businesses to run database software and manage databases from the Internet, thus allowing peopleto access their applications and data from anywhere at any time. Itwill be interesting to see how this whole idea progresses over the nextseveral years.Vendors continue to add new features and enhance the tool sets intheir database software, enabling database developers to create morepowerful and flexible database applications. They’re also constantlyimproving the ease with which the software can be used, enablingmany people to create their own database applications. Today’s database software greatly simplifies the process of creating efficient database structures and intuitive user interfaces.Most programs provide sample database structures that you can copyand alter to suit your specific needs. Although you might initiallythink that it would be quite advantageous for you to use these sample structures as the basis for a new database, you should stop and

Introductionxxxireconsider that move for a moment. Why? Because you could easilyand unwittingly create an improper, inefficient, and incomplete design.Then you would eventually encounter problems in what you believed tobe a dependable database design. This, of course, raises the question,“What types of problems would I encounter?”Most problems that surface in a database fall into two categories:application problems and data problems. Application problems includesuch things as problematic data entry/edit forms, confusing menusand toolbars, confusing dialog boxes, and tedious task sequences.These problems typically arise when the database developer is inexperienced, is unfamiliar with a good application design methodology, orknows too little about the software he’s using to implement the database. Problems of this nature are common and important to address,but they are beyond the scope of this work. Note One good way to solve many of your application problems is to purchase and study third-party “developer” books thatcover the software you’re using. Such books discuss applicationdesign issues, advanced programming techniques, and varioustips and tricks that you can use to improve and enhance anapplication. Armed with these new skills, you can revamp andfine-tune the database application so that it works correctly,smoothly, and efficiently.Data problems, on the other hand, include such things as missingdata, incorrect data, mismatched data, and inaccurate information.Poor database design is typically the root cause of these types of problems. A database will not fulfill an organization’s information requirements if it is not structured properly. Although poor design is typicallygenerated by a database developer who lacks knowledge of good database design principles, it shouldn’t necessarily reflect negatively on

xxxiiIntroductionthe developer. Many people, including experienced programmers anddatabase developers, have had little or no instruction in any form ofdatabase design methodology. Many are unaware that design methodologies even exist. Data problems and poor design are the issues thatthis work will address.What’s New in the Third EditionI revised this edition to improve readability, update or extend existingtopics, add new content, and enhance its educational value. Here is alist of the changes you’ll find in this edition. Portions of the text have been rewritten to improve clarity andreader comprehension. Figures have been updated for improved relevance asappropriate. The discussion on data types has been updated. The Recommended Reading section includes the latest editions ofthe books and now includes each book’s ISBN. A new appendix on Normalization very briefly explains the concept and then explains in detail how it is incorporated into thedesign process presented in this book.Visit Informit.com/titles/0321884493 to access additional content referenced in the book.Who Should Read This BookNo previous background in database design is necessary to read thisbook. The reason you have this book in your hands is to learn howto design a database properly. If you’re just getting into database

Who Should Read This Bookxxxiiimanagement and you’re thinking about developing your own databases, this book will be very valuable to you. It’s better that you learnhow to create a database properly from the beginning than that youlearn by trial and error. Believe me, the latter method takes

The Relational Database Model 12 Retrieving Data 15 Advantages of a Relational Database 16 Relational Database Management Systems 18 Beyond the Relational Model 19 What the Future Holds 21 A Final Note 22 Summary 22 Review Questions 24 Chapter

Related Documents:

User Interface Design for Mere Mortals Eric Butow.ISBN:0321447735 Database Design for Mere Mortals , Second Edition: A Hands-On Guide to Relational Database Design Michael J.Hernandez.ISBN:0201752840 Microsoft Office Project for Mere Mortals : Solving the Mysteries of Microsoft Office Project Patti Jansen.ISBN:0321423429 UML for Mere Mortals

ISBN-10: 1118094832 ISBN-13: 978-1118094839 IT 321 INTRO TO REQURIEMENT ANALYSIS Database Design for Mere Mortals (ISBN-10: 0321884493) and SQL Queries for Mere Mortals (ISBN-10: 0321992474). IT 331 INTRO TO DATABASES Relational Database Design for Mere Mortals Publisher: A

Bruksanvisning för bilstereo . Bruksanvisning for bilstereo . Instrukcja obsługi samochodowego odtwarzacza stereo . Operating Instructions for Car Stereo . 610-104 . SV . Bruksanvisning i original

10 tips och tricks för att lyckas med ert sap-projekt 20 SAPSANYTT 2/2015 De flesta projektledare känner säkert till Cobb’s paradox. Martin Cobb verkade som CIO för sekretariatet för Treasury Board of Canada 1995 då han ställde frågan

service i Norge och Finland drivs inom ramen för ett enskilt företag (NRK. 1 och Yleisradio), fin ns det i Sverige tre: Ett för tv (Sveriges Television , SVT ), ett för radio (Sveriges Radio , SR ) och ett för utbildnings program (Sveriges Utbildningsradio, UR, vilket till följd av sin begränsade storlek inte återfinns bland de 25 största

Hotell För hotell anges de tre klasserna A/B, C och D. Det betyder att den "normala" standarden C är acceptabel men att motiven för en högre standard är starka. Ljudklass C motsvarar de tidigare normkraven för hotell, ljudklass A/B motsvarar kraven för moderna hotell med hög standard och ljudklass D kan användas vid

LÄS NOGGRANT FÖLJANDE VILLKOR FÖR APPLE DEVELOPER PROGRAM LICENCE . Apple Developer Program License Agreement Syfte Du vill använda Apple-mjukvara (enligt definitionen nedan) för att utveckla en eller flera Applikationer (enligt definitionen nedan) för Apple-märkta produkter. . Applikationer som utvecklas för iOS-produkter, Apple .

with the requirements of ISO 14001:2015? 4.4 14 Has your organization has considered the knowledge and information obtained by 4.1 and 4.2 when implementing and operating it EMS? Insert your company’s name or logo. ISO 14001:2015 Audit Checklist System & Process Compliance Auditing www.iso-9001-checklist.co.uk Page 6 of 41 Audit Findings Summary Manually transfer the audit findings from the .