Boolean Algebra and Logic Gates PDF
Document Details
Uploaded by Deleted User
Tags
Summary
These lecture notes provide a foundational explanation of Boolean algebra and logic gates, including their components, operations, and examples. The document uses diagrams and tables to illustrate these concepts, focusing on the fundamental principles in digital logic.
Full Transcript
7. Boolean Algebra ◼ Why computers use the binary system? 1. Electronic components like transistors have a digital nature. They can be either in an "on" state or an "off" state, representing binary 1 and 0, respectively. 2. An entire branch of mathematics already existed that de...
7. Boolean Algebra ◼ Why computers use the binary system? 1. Electronic components like transistors have a digital nature. They can be either in an "on" state or an "off" state, representing binary 1 and 0, respectively. 2. An entire branch of mathematics already existed that dealt exclusively with true and false values. Lecture 3 – Binary System and Logic Gates Boolean Algebra Components ◼ The set of Boolean values {F,T} ◼ Boolean variables a, b, …∈ {F,T} ◼ Boolean operations {AND, OR, NOT} ◼ Boolean expressions ◼ Boolean functions Lecture 3 – Binary System and Logic Gates Boolean Operations ◼ a AND b ◼ True only when a is true and b is true ◼ a OR b ◼ True when a is true, b is true, or both are true ◼ NOT a ◼ True when a is false and vice versa Lecture 3 – Binary System and Logic Gates Boolean Expressions ◼ Constructed by combining together Boolean operations and variables ◼ Example: (a AND b) AND c a b c a AND b (a AND b) AND c F F F F F F F T F F F T F F F F T T F F T F F F F T F T F F T T F T F T T T T T Lecture 3 – Binary System and Logic Gates 8. Logic Gates ◼ Gates are hardware devices built from transistors to mimic Boolean Operations ◼ Gates are made of transistors (see next slides) ◼ Transistors are made of semiconductor materials ◼ Types of materials based on their conductivity: ◼ Conductors: copper and aluminum ◼ Insulators: rubber, glass, and plastic ◼ Semiconductors: silicon and germanium ◼ What is A Semiconductor: https://www.youtube.com/watch?v=gUmDVe6C-BU (0:00 to 1:26) Lecture 3 – Binary System and Logic Gates AND Gate Source: The Crash Course Computer Science Lecture 3 – Binary System and Logic Gates AND Gate Source: The Crash Course Computer Science Lecture 3 – Binary System and Logic Gates AND Gate Source: The Crash Course Computer Science Lecture 3 – Binary System and Logic Gates OR Gate Source: The Crash Course Computer Science Lecture 3 – Binary System and Logic Gates OR Gate Source: The Crash Course Computer Science Lecture 3 – Binary System and Logic Gates OR Gate Source: The Crash Course Computer Science Lecture 3 – Binary System and Logic Gates OR Gate Source: The Crash Course Computer Science Lecture 3 – Binary System and Logic Gates Moore's Law: Observing Exponential Growth in Computing Power ◼ Moore's Law ◼ It states that the number of transistors on a microchip doubles approximately every two years, leading to exponential growth in computing power and technological advancement. ◼ How? ◼ Transistors are getting smaller over time. ◼ Transistors are also becoming more Photo by Shigeru23 / CC BY power-efficient. Lecture 3 – Binary System and Logic Gates Logic Gates (cont.) ◼ Boolean values (F,T) ----- signal value (0,1) ◼ Boolean operations ----- logic gates ◼ Boolean function ------ logic circuit Lecture 3 – Binary System and Logic Gates Three Basic Gates Basic Gates Symbols Truth Tables The Three Basic Gates, Their Symbols and Truth Tables Lecture 3 – Binary System and Logic Gates 9. Building Computer Circuits ◼ A circuit is a collection of logic gates ◼ Transforms a set of binary inputs into a set of binary outputs ◼ Values of the outputs depend only on the current values of the inputs Diagram of a Typical Computer Circuit Lecture 3 – Binary System and Logic Gates The Design Process of Compare-for-Equality Circuit ◼ Problem specification ◼ Define the function and specify the number of inputs and outputs. ◼ Truth table generation ◼ The table lists all possible combinations of input values and their corresponding output values. ◼ Logic expression derivation ◼ Simplification of logic expression ◼ Logic circuit design Lecture 3 – Binary System and Logic Gates CE: Problem Specification ◼ Compare-for-equality compares two binary numbers for equality. ◼ For example, let A= 1001 and B= 1010, is A equals B? ◼ Built by combining together 1-bit comparison circuits (1-CE) ◼ A circuit for the first digit, and another circuit for the second digit, etc ◼ A and B are equal if corresponding bits are equal. Lecture 3 – Binary System and Logic Gates 1-CE: Truth Table Generation a b F 0 0 1 Truth table captures every 0 1 0 input/output 1 0 0 possible for circuit 1 1 1 Lecture 3 – Binary System and Logic Gates 1-CE: Logic Expression Derivation 1. For each line with output 1 in the truth table, build a product term using AND and NOT 2. Combine together all product terms with ORs a b F 0 0 1 0 1 0 1 0 0 1 1 1 Lecture 3 – Binary System and Logic Gates 1-CE: Logic Expression Derivation 1. For each line with output 1 in the truth table, build a product term using AND and NOT 2. Combine together all product terms with ORs a b F 0 0 1 Writing a Logic0Expression 1 From 0 a Truth Table https://www.youtube.com/watch?v=uZel7wLztM0 1 0 0 1 1 1 Lecture 3 – Binary System and Logic Gates 1-CE: Simplification of Logic Expression ◼ This expression can be minimized/simplified, but we won't address that process here. ◼ Examples of minimization can be found in Slide 71 and Slide 75 Lecture 3 – Binary System and Logic Gates 1-CE: Logic Circuit Design ◼ From this expression , we design the circuit Lecture 3 – Binary System and Logic Gates 4-CE Circuit a0 A and B are equal b0 1-CE if corresponding bits are equal a1 b1 1-CE AND F gate a2 1-CE b2 a3 b2 1-CE Lecture 3 – Binary System and Logic Gates Exercise 1 ◼ Find the output of the following circuit x y y Lecture 3 – Binary System and Logic Gates Exercise 1: Solution ◼ Find the output of the following circuit x 𝒙+𝒚 y (𝒙 + 𝒚)ഥ 𝒚 ഥ 𝒚 y ◼ ഥ Answer: 𝒙 + 𝒚 ∙ 𝒚 Lecture 3 – Binary System and Logic Gates Order of Boolean Operations 1. Parentheses 2. NOT 3. AND 4. OR Lecture 3 – Binary System and Logic Gates Exercise 2 ◼ Find the output of the following circuit x y Lecture 3 – Binary System and Logic Gates Exercise 2: Solution ◼ Find the output of the following circuit ഥ 𝒙 x ഥ∙𝒚 𝒙 ഥ ഥ∙𝒚 𝒙 ഥ ഥ 𝒚 y ◼ ഥ∙𝒚 Answer: 𝒙 ഥ =𝒙+𝒚 Lecture 3 – Binary System and Logic Gates Exercise 3 ◼ Design the circuits for the following Boolean algebraic expression: 𝑥ҧ + 𝑦 ◼ Solution: ഥ 𝒙 x ഥ+𝒚 𝒙 y Lecture 3 – Binary System and Logic Gates Exercise 4 ◼ Design the circuits for the following Boolean algebraic expressions: (𝑥 + 𝑦) 𝑥 ◼ Solution: x 𝒙+𝒚 𝒙+𝒚 𝒙+𝒚 𝒙 y Lecture 3 – Binary System and Logic Gates The Half-Adder ◼ Sum = 𝑥ҧ ∙ 𝑦 + 𝑥 ∙ 𝑦ത x y Carry Sum = 𝑥 + 𝑦 ∙ (𝑥ҧ + 𝑦) ത 0 0 0 0 = 𝑥 + 𝑦 ∙ (𝑥𝑦) 0 1 0 1 ◼ Carry = 𝑥 ∙ 𝑦 1 0 0 1 1 1 1 0 x y Sum Carry Lecture 3 – Binary System and Logic Gates Examples of Essential Circuits in Digital Logic Design ◼ Performing arithmetic operations ◼ Half-adder and full-adder ◼ Executing logic operations ◼ Compare for equality ◼ Circuits in the control unit ◼ See Slide 7-13 in Lecture 2 ◼ Providing memory capabilities ◼ AND-OR latch Source: The Crash Course Computer Science Lecture 3 – Binary System and Logic Gates Circuit Equivalence (AB + AC) Lecture 3 – Binary System and Logic Gates Circuit Equivalence (AB + AC) Both circuits produce the exact same output for each input value combination, but one is simpler than the other. Lecture 3 – Binary System and Logic Gates Minimization ◼ Boolean algebra allows us to apply provable mathematical principles, like the properties of Boolean algebra listed below, to simplify the design of logic circuits. ◼ In the previous slide, 𝐴 ⋅ 𝐵 + 𝐶 is simpler than (𝐴 ⋅ 𝐵) + (𝐴 ⋅ 𝐶) ◼ 𝐴 ⋅ 𝐵 + 𝐶 uses only two gates. ◼ (𝐴 ⋅ 𝐵) + (𝐴 ⋅ 𝐶) uses three gates. Lecture 3 – Binary System and Logic Gates 10. Summary ◼ Number Systems: Decimal, Binary, Octal, Hexadecimal ◼ Convert Decimal to other number systems and vice versa ◼ Binary arithmetic ◼ Boolean logic and basic Boolean operations ◼ Gates and Boolean logic Lecture 3 – Binary System and Logic Gates Principles of Information Systems, Thirteenth Edition Chapter 4 Software © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain 1 product or service or otherwise on a password-protected website for classroom use. Objectives After completing this chapter, you will be able to: 1. Define the term “sphere of influence,” and describe how it can be used to classify software 2. Define the basic functions performed by the operating system 3. Identify current operating systems that are used for personal, workgroup, and enterprise computing 4. Discuss how application software can support personal, workgroup, and enterprise business objectives 5. Identify programming languages in use today 6. Identify key software issues and trends that have an impact on several organizations and individuals © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. An Overview of Software Software Consists of computer programs that control the workings of computer hardware Software can be divided into two types: System software –coordinates the activities and functions of the hardware and other programs Application software – programs that help users solve particular computing problems © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 3 or otherwise on a password-protected website for classroom use. Software Sphere of Influence Personal sphere of influence Serves the needs of an individual user Workgroup sphere of influence Workgroup: two or more people working together to achieve a common goal Enterprise sphere of influence Serves the needs of the firm in its interaction with its environment © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 4 or otherwise on a password-protected website for classroom use. System Software Types of system software Operating systems Utility programs Virtualization software Middleware © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 5 or otherwise on a password-protected website for classroom use. Operating Systems A set of programs that controls computer hardware and acts as an interface with application programs © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 6 or otherwise on a password-protected website for classroom use. Operating Systems Combinations of OSs, computers, and users: Single computer with a single user - Examples: Microsoft Windows, Google Android, and certain distributions of Linux Single computer with multiple simultaneous users - Used in mainframe computers that support hundreds or thousands of people - Examples: IBM z/OS and certain distributions of Linux Multiple computers with multiple users - Can be seen in a homogeneous environment (e.g., a data center) where all servers run the same version of the operating system - Examples: Windows Server and certain distributions of Linux Special-purpose computers: - Controls computers with specialized functions such as sophisticated military aircraft, digital cameras, or home appliances - Examples: Windows IoT and certain distributions of Linux © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 7 or otherwise on a password-protected website for classroom use. Operating Systems Kernel The heart of the operating system Controls the most critical processes of the OS Ties all of the OS components together and regulates other programs Functions performed by the OS kernel Controls common computer hardware functions Provides a degree of hardware independence Manages system memory Manages processing tasks Provides networking capability Manages files © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 8 or otherwise on a password-protected website for classroom use. Operating Systems Common Hardware Functions Get input from keyboard or another input device Retrieve data from disks Store data on disks Display information on a monitor or printer © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 9 or otherwise on a password-protected website for classroom use. Operating Systems Hardware Independence OS provides a degree of hardware independence via APIs The API allows software developers to build applications without needing to understand the inner workings of the OS and hardware Application program interface (API): a set of programming instructions for one software program to access and use the services of another software program An API provides a software-to-software interface, not a user interface © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 10 or otherwise on a password-protected website for classroom use. Operating Systems Processing Tasks: five basic task management techniques 1. Multiuser: allows two or more users to run programs at the same time on one computer - Examples: Microsoft's Windows Server, Unix, and Linux distributions for enterprise 2. Multiprocessing: supports running a program on more than one CPU (or core) 3. Multitasking: allows more than one program to run concurrently - In a multitasking OS, you can have a web browser, a word processor, and a video player all running at the same time, and you can switch between them seamlessly 4. Multithreading: allows different threads (or parts) of a single program to run concurrently - Web browsers can use multithreading to manage multiple open tabs simultaneously. Each tab may be assigned its own thread, allowing for independent loading and interaction with web content without impacting the responsiveness of other tabs 5. Real time: responds to input instantly - Real-time operating systems are used to control the operation of jet engines, the deployment of air bags, and the operation of antilock braking systems—among other uses © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 11 or otherwise on a password-protected website for classroom use. Operating Systems Operating systems use multitasking, multiprocessing, and multithreading to increase the amount of processing that can be accomplished in a given amount of time Not all operating systems employ all these approaches to task management For example, Windows, macOS, and general-purpose Linux cannot support real- time processing © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 12 or otherwise on a password-protected website for classroom use. Operating Systems File Management The OS manages the storage of files and folders on the storage device using a method called the “file system” - It keeps track of where each file is stored and who is allowed to access them - How does the OS store files in secondary storage devices? (REQUIRED) [link] (4:48 to 9:18) Memory Management Manages the data stored on main memory - Swapping data between RAM and disk when needed - Ensuring each program gets the memory it needs without interfering with others Networking Capability Allows computers in a network to send and receive data and share computing resources Operating systems for larger server computers are designed specifically for computer networking environments © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 13 or otherwise on a password-protected website for classroom use. Operating Systems The OS also provide a user interface and input/output management User Interfaces (UIs): allows individuals to interact with the computer system 1. A command-line interface (CLI) - Requires memorizing text commands 2. A graphical user interface (GUI) - The user interacts with icons and menus to send commands to the computer system 3. Voice User Interface - To interact with computers and devices using spoken language - Virtual assistants like Siri, Amazon's Alexa, and Google Assistant are prominent examples 4. Brain-Computer Interfaces (BCI) - For people with disabilities [link1] [link2] Natural User Interface (NUI) Seamlessly integrates gestures (as seen in Xbox Kinect and Nintendo Wii), voice commands (like Siri), and touch to create an intuitive and natural way of interacting with computers © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 14 or otherwise on a password-protected website for classroom use. Operating Systems © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 15 or otherwise on a password-protected website for classroom use. Operating Systems There is a saying, “graphical user interfaces make easy tasks easier, while command line interfaces make difficult tasks possible” Some other advantages: Efficient remote access: CLI’s low-overhead interface allows fast access to remote computers Automate repetitive tasks: easily script tasks, saving time and reducing errors in routine operations Optional Why should you learn CLI? [link1] [link2] © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 16 or otherwise on a password-protected website for classroom use. Current Operating Systems © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 17 or otherwise on a password-protected website for classroom use. Linux Open-source operating system, developed in 1991 by Linus Torvalds as a student in Finland Linus developed the kernel The kernel is enhanced over time through collaborative efforts from the community It’s heavily influenced by Unix and it’s often referred to as a "UNIX-like" OS Individuals and organizations can use the open-source Linux code (i.e., the kernel) to create their own distribution (flavour) of Linux A distribution is a complete operating system that consists of: 1. The Linux kernel (the core of the operating system)—which controls the hardware, manages files, separates processes, and performs other basic functions 2. Other software such as the terminal interface (CLI), the graphical user interface (GUI), and utility programs © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 18 or otherwise on a password-protected website for classroom use. Personal Computing Operating Systems Microsoft Windows Apple macOS A Unix-based OS Linux: distributions designed for individual users include: Ubuntu openSUSE © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 19 or otherwise on a password-protected website for classroom use. Personal Computing Operating Systems⁺ © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 20 or otherwise on a password-protected website for classroom use. Personal Computing Operating Systems Google ChromeOS ChromeOS is built on the premise that most computing tasks and data storage can be done in the cloud, rather than on local devices Linux-based operating system Designed to run on inexpensive low-power computers (e.g., Chromebooks and Chromeboxes) ChromiumOS: An open-source version of ChromeOS © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 21 or otherwise on a password-protected website for classroom use. Mobile Operating Systems Android An open-source OS developed by Google The majorly of mobile phones worldwide use Android (70% - 80%) Apple iOS Microsoft Windows Phone (discontinued) But why did it fail? [link1] [link2] © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 22 or otherwise on a password-protected website for classroom use. Enterprise Operating Systems Operating systems that typically offer Web server management Virtualization Advanced security features, and administrative support UNIX The original Unix developed at AT&T's Bell Labs in the late 1960s is not widely used today Some of Unix descendants (have some historical connection to the original Unix) remain in active use today: HP-UX from Hewlett-Packard, AIX from IBM, Solaris from Oracle, and BSD variants⁺ Only certain variants are open source (BSD variants) Linux Distributions that can manage a cluster of several servers - SUSE Linux Enterprise Server (SLES) - Red Hat Enterprise Linux Server - Ubuntu Server © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 23 or otherwise on a password-protected website for classroom use. Enterprise Operating Systems Windows Server Mainframe OSs z/OS: IBM’s first 64-bit enterprise OS Linux-based - Ubuntu Server for IBM Z - Red Hat Enterprise Linux for IBM Z - openSUSE for IBM Z © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 24 or otherwise on a password-protected website for classroom use. Enterprise Operating Systems: The Evolution of Unix Systems Photo: KommissärMatthäi Unix-like © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 25 or otherwise on a password-protected website for classroom use. Embedded Operating Systems Embedded system: a specialized computer system with a customized operating system, designed to perform specific tasks Types of embedded systems Real-time - Antilock brakes (ABS), air bag deployment, and blind-spot monitoring Standalone - Digital cameras, e-book readers, navigation devices (Garmin), and microwave ovens Usually they are Linux-based systems Networked - ATMs and point-of-sale (POS) systems Windows IoT - Routers (Cisco IOS) © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 26 or otherwise on a password-protected website for classroom use. Utility Programs Utility program: A program that helps to perform maintenance or correct problems with a system © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 27 or otherwise on a password-protected website for classroom use. Utility Programs Hardware utilities Defragmentation software (a disk utility): a tool that organizes and optimizes the placement of fragmented files on a computer's storage, enhancing overall system performance by reducing file access times (See next slide) System cleaners and uninstallers Security utilities Antivirus and anti-malware utilities Firewall software File-compression utilities File-compression programs can reduce the amount of disk space required to store a file or reduce the time it takes to transfer a file over the Internet A Zip file has a.zip extension, and its contents can be unzipped to the original size MP3: a popular format for compressing a sound sequence into a very small file while preserving the original level of sound quality © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 28 or otherwise on a password-protected website for classroom use. File Defragmentation Software What causes file fragmentation? Why is it necessary to occasionally defragment files? Is defragmentation still relevant when using SSD as a permanent storage device? Why? Visualization of the process of fragmentation and defragmentation [link] © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 29 or otherwise on a password-protected website for classroom use. Virtualization Software Software that allows the creation of virtual servers (virtualization), which separate a physical computing device into one or more “virtual” servers Companies use virtual servers to dramatically reduce the number of actual physical servers in use Save millions of dollars in capital and operating expenses (including energy costs) per year © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 30 or otherwise on a password-protected website for classroom use. Middleware Middleware is software that allows different systems to communicate and exchange data Middleware has many uses, including: Integration (Bridging disparate applications) - It is implemented to address situations in which a company acquires different types of information systems—often through mergers, acquisitions, or expansion Interface between the internet and private enterprise systems - Authentication: Identity and access management (IAM) systems. - Load balancing: Distributing incoming requests across multiple servers or instances. [link] © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 31 or otherwise on a password-protected website for classroom use. Application Software Application programs’ primary function is to perform specific tasks Application software Personal applications Enterprise applications © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 32 or otherwise on a password-protected website for classroom use. Personal Application Software Word Processing Create, edit, and print text documents Spreadsheet Analysis Perform statistical, financial, logical, graphics, and date and time calculations using a wide range of built-in functions Presentation Program Develop graphs, illustrations, drawings, and presentations © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 33 or otherwise on a password-protected website for classroom use. Personal Application Software Software Suites and Integrated Software Packages A collection of single programs packaged together in a bundle Suites can include: word processor, spreadsheet, database management, graphics, communications tools, and organizers © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 34 or otherwise on a password-protected website for classroom use. Personal Application Software Other Personal Application Software Software for creating web pages and sites and for editing photos and videos Educational and reference Entertainment and games Computer-assisted design (CAD) Statistical software: SPSS and SAS © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 35 or otherwise on a password-protected website for classroom use. Personal Application Software Mobile Application Software Google Play has 3.5 million apps Apple App Store has 1.6 million apps F-Droid - Free and open-source android apps - Has around 4,000 apps © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 36 or otherwise on a password-protected website for classroom use. Personal Application Software⁺ © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 37 or otherwise on a password-protected website for classroom use. Enterprise Application Software Enterprise application software Cost, installation and ability to integrate with other software are major considerations in selecting this software © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 38 or otherwise on a password-protected website for classroom use. Enterprise Application Software Two main types of software: Software development (i.e., building custom software in-house) - A one-of-a-kind program for a specific application - Owned by the company, organization, or person that uses it Software acquisition (i.e., buying off-the-shelf software) - Buying software mass-produced by software vendors - Ideal for software that addresses common needs across businesses, organizations, or individuals © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 39 or otherwise on a password-protected website for classroom use. Software Development vs. Software Acquisition © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 40 or otherwise on a password-protected website for classroom use. Application Software Cloud service providers Companies that provide software, data storage, and other services via the Internet Software as a service (SaaS) Businesses subscribe to web-delivered business application software Leading public cloud service providers: Amazon Web Services (AWS) Microsoft Azure Google Cloud © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 41 or otherwise on a password-protected website for classroom use. Programming Languages Programming languages Allow humans to communicate instructions to a computer Compiler: a special software program that converts the programmer’s source code into the machine-language instructions © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 42 or otherwise on a password-protected website for classroom use. Programming Languages © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 43 or otherwise on a password-protected website for classroom use. Integrated Development Environments (IDEs) IDE combines all the tools required for software engineering into one package Code editor - AI-empowered [link] Compiler Debugger Version control integration (with Github, for example) - Recommended course [link] Examples of IDEs: Xcode, Visual Studio, and Eclipse IDEs for developing mobile applications offer a simulator/emulator: Android Studio has an emulator that enables developers to test their applications on virtual Android devices The Xcode Simulator for iOS allows developers to simulate and evaluate their apps on virtual iOS devices © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 44 or otherwise on a password-protected website for classroom use. Integrated Development Environments (IDEs) © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 45 or otherwise on a password-protected website for classroom use. Software Development Kits (SDKs) SDK: a set of tools, libraries, and documentation that helps developers create applications for specific platforms (e.g., hardware platforms, OS, cloud services) SDKs are usually offered by hardware, software, and cloud companies Apple offers the following SDKs: macOS SDK, iOS SDK, and watchOS SDK Examples of SDKs for Java⁺: Android SDK Apache Tomcat - Hosting Java-based web applications AWS SDK for Java Google Cloud SDK for Java Microsoft Azure SDK for Java © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 46 or otherwise on a password-protected website for classroom use. Programming Languages, IDEs, and SDKs⁺ In 2013, Google transitioned from providing an SDK (that could be imported into Eclipse, for example) to offering a comprehensive IDE known as Android Studio for Android development The programming language used for Android is Java © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 47 or otherwise on a password-protected website for classroom use. Programming Libraries Collections of prewritten code that provide reusable functions, classes, and data structures to simplify the development of new software applications Examples of libraries for Java developers⁺: Stanford CoreNLP: Natural (human) language processing WEKA: Machine learning Deeplearning4L (DL4J): Deep learning JUnit: Software testing JDBC: Relational database © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 48 or otherwise on a password-protected website for classroom use. Web Development Hypertext Markup Language (HTML): The standard language for web pages Demo (REQUIRED): https://youtu.be/guvsH5OFizE?t=245 (4:05 to 5:54) Cascading Style Sheets (CSS): a file or portion of an HTML file that defines the visual appearance of content in a webpage The web without CSS: [link] © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 49 or otherwise on a password-protected website for classroom use. Web Programming Languages Server-side programming languages include: Java ASP.NET PHP Python Client-side programming/scripting languages include: HTML: for structuring web content. For example, which part is the headline, which part is a list, and so on CSS: for styling and formatting webpages JavaScript: used for creating responsive web pages that react to user interactions © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 50 or otherwise on a password-protected website for classroom use. How to Transport and Store Data on the Web Two widely used formats for representing data: XML and JSON Example of XML Example of JSON © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 51 or otherwise on a password-protected website for classroom use. How the Web Works © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 52 or otherwise on a password-protected website for classroom use. Software Issues and Trends Software bugs Freeware and open-source software Licensing © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 53 or otherwise on a password-protected website for classroom use. Software Issues and Trends: Software Bugs Software bug: a defect in a program that keeps it from performing as it should Tips for reducing the impact of software bugs Check read-me files for solutions to known problems Access the support area of the manufacturer’s web site for patches Install the latest software updates Make sure you can recreate the bug and then call the manufacturer’s tech support line © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 54 or otherwise on a password-protected website for classroom use. Software Issues and Trends: Freeware and Open-Source Software Freeware: software that is made available to the public for free © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 55 or otherwise on a password-protected website for classroom use. Software Issues and Trends: Freeware and Open-Source Software Open-source software: distributed, typically for free, with the source code © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 56 or otherwise on a password-protected website for classroom use. Software Issues and Trends: Licenses Software is often legally protected by licensing Software licenses: Permissive Style (For open source) - Carries minimum restrictions - Example: Android Copyleft Style (For open source) - The same rights have to be maintained in derivative works - Example: Linux kernel Proprietary Licenses - Restrict the use, modification, and distribution of the software - Example: MS Windows © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 57 or otherwise on a password-protected website for classroom use. Open-Source Licenses © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 58 or otherwise on a password-protected website for classroom use. Cloud Computing Cloud computing: a computing environment in which software and storage are provided as an Internet service and accessed with a web browser Advantages to businesses: Businesses can save on system design, installation, and maintenance Increased efficiency and reduce the costs of new product and service launches Employees can access corporate systems from any Internet-connected computer © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 59 or otherwise on a password-protected website for classroom use. Public Cloud Computing A service provider owns and manages the infrastructure with cloud user organizations (tenants) accessing shared hardware resource via the Internet Data security is a key concern Because when using a public cloud computing service, you are relying on someone else to safeguard your data © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 60 or otherwise on a password-protected website for classroom use. Public Cloud Computing Cloud computing can be divided into three main types of services: Infrastructure as a service (IaaS) Software as a service (SaaS) Platform as a Service (PaaS) application software system software hardware © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 61 or otherwise on a password-protected website for classroom use. Artificial Intelligence (AI) AI aims to perform tasks that typically require human intelligence It encompasses various fields like robotics, natural language processing, and computer vision Machine Learning (ML) is a subset of AI that allows computers to learn from data without being explicitly programmed For instance, instead of coding specific rules to detect spam emails, we train the system using examples of both spam and non-spam emails How ML works: Data: The foundation of ML; algorithms learn from data Algorithms: The set of rules or procedures the machine follows to learn from data Types of ML include: Supervised Learning Generative Learning (Generative AI) © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 62 or otherwise on a password-protected website for classroom use. Supervised Learning A type of ML where the model is trained on labeled data The goal is to learn a mapping from input to output Process: Training Data: Consists of input-output pairs Model Training: The algorithm learns to predict the output from the input Prediction: The model is used to predict outputs for new inputs Examples: Image classification (e.g., recognizing cats vs. dogs) Predicting house prices based on features like size, location, etc © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 63 or otherwise on a password-protected website for classroom use. Supervised Learning: Applications Source: https://www.deeplearning.ai/courses/ai-for-everyone/ © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 64 or otherwise on a password-protected website for classroom use. Supervised Learning: Example of Training Data Source: https://www.deeplearning.ai/courses/ai-for-everyone/ © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 65 or otherwise on a password-protected website for classroom use. Supervised Learning: Acquiring Data Manual labelling From observing user behaviours Download from the Internet https://huggingface.co/datasets Kaggle.com Examples are taken from https://www.deeplearning.ai/courses/ai-for-everyone/ © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 66 or otherwise on a password-protected website for classroom use. Summary The OS is called the “soul of the computer” because it controls how you enter data into your computer, perform meaningful work, and display results Organizations typically use off-the-shelf software to meet common business needs and build custom software to meet unique business needs Cloud computing has transformed the software landscape by offering unparalleled scalability, flexibility, and global access, empowering businesses to innovate and adapt quickly Machine learning expands the scope of software development by complementing traditional rule-based systems with adaptive, data-driven models that can learn and evolve over time © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 67 or otherwise on a password-protected website for classroom use. Principles of Information Systems, Thirteenth Edition Chapter 5 Database System and Big Data © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain 1 product or service or otherwise on a password-protected website for classroom use. Database Paradigms Three paradigms will be discussed in this lecture: Relational Databases Data Warehouses NoSQL Databases The lecture will also discuss the following concepts Big data Data lakes © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 2 or otherwise on a password-protected website for classroom use. Relational Databases © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. Introduction Relational database: an organized collection of data Commonly used to store and manage daily transactions (e.g., sales transactions and bank transactions) Why not store data in spreadsheets? Relational databases ensure data integrity through defined relationships and constraints, maintaining a single source of truth “Single source of truth” means that every piece of information is stored only once This minimizes errors and inconsistencies when updating records © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 4 or otherwise on a password-protected website for classroom use. Introduction A database management system (DBMS) is a group of programs that: Manipulate the database Provide an interface between the database and its users and other application programs © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 5 or otherwise on a password-protected website for classroom use. Data Fundamentals Organizations could not successfully complete most business activities without data and the ability to process it Data consists of raw facts Data must be organized in a meaningful way to transform it into useful information © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 6 or otherwise on a password-protected website for classroom use. Hierarchy of Data A bit (binary digit) represents a circuit that is either on or off A byte is made up of eight bits Each byte represents a character Field: a name, number, or combination of characters that describes an aspect of a business object or activity Record: a collection of related data fields File: a collection of related records Database: a collection of integrated and related files © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 7 or otherwise on a password-protected website for classroom use. Hierarchy of Data Hierarchy of data: bits, characters, fields, records, files, and databases © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 8 or otherwise on a password-protected website for classroom use. Data Entities, Attributes, and Keys Entity: a person, place, or thing for which data is collected, stored, and maintained Attribute: a characteristic of an entity Data item: the specific value of an attribute Primary key: a field or set of fields that uniquely identifies the record © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 9 or otherwise on a password-protected website for classroom use. Database Activities Create: inserting new data Adding the information of a new employee (new record/new row) Read: retrieving data from the database Update: modifying existing data Updating the employees record, such as updating his new phone number Delete: removing data Generating reports See next slide © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 10 or otherwise on a password-protected website for classroom use. Generating Reports A DBMS can produce a wide variety of documents, reports, and other output that can help organizations achieve their goals © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 11 or otherwise on a password-protected website for classroom use. Data Modeling Considerations when building a database Content: What data should be collected? cost? Access: What data should be provided to which users and when? Logical structure: How should data be arranged so that it makes sense? Physical organization: Where should data be physically located? Archiving: How long to store? © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 12 or otherwise on a password-protected website for classroom use. Data Modeling Data model: a diagram of data entities and their relationships Entity-relationship (ER) diagrams: data models that use basic graphical symbols to show the organization of and relationships between data The ER model shows the structure of a database at a high level of abstraction © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 13 or otherwise on a password-protected website for classroom use. Data Modeling © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 14 or otherwise on a password-protected website for classroom use. Data Modeling Relational model: a simple but highly useful way to organize data into collections of two-dimensional tables called relations Each row in the table represents an entity Each column represents an attribute of that entity © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 15 or otherwise on a password-protected website for classroom use. Data Modeling © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 16 or otherwise on a password-protected website for classroom use. Linking Multiple Tables is Often Required to Answer a Single Query © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 17 or otherwise on a password-protected website for classroom use. Structured Query Language (SQL) SQL: a special-purpose programming language for accessing and manipulating data stored in a relational database © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 18 or otherwise on a password-protected website for classroom use. Structured Query Language (SQL) © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 19 or otherwise on a password-protected website for classroom use. Data Cleansing Also called data cleaning The process of detecting and then correcting or deleting incomplete, incorrect, inaccurate, irrelevant records that reside in a database The cost of performing data cleansing can be quite high Different from data validation Data validation involves the identification of “bad data” and its rejection at the time of data entry - JavaScript is commonly used for validating web forms. Example: [link] © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 20 or otherwise on a password-protected website for classroom use. Data Cleansing © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 21 or otherwise on a password-protected website for classroom use. Database Administration Database administrators (DBAs) Works with users to define their data needs Applies database programming languages to craft a set of databases to meet those needs Assures that data is secure from unauthorized access The DBA is responsible for planning, designing, creating, operating, securing, monitoring, and maintaining databases © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 22 or otherwise on a password-protected website for classroom use. Popular Database Management Systems Open-source relational DBMS: MySQL Relational DBMS for Enterprise: Microsoft SQL Server IBM DB2 © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 23 or otherwise on a password-protected website for classroom use. Popular Database Management Systems Database as a Service (DaaS) A cloud-based service that provides database storage, management, and administration The database is hosted on the service provider's servers and is accessed by the client over the Internet Example of DaaS: Amazon Relational Database Service (Amazon RDS) Microsoft Azure SQL Database © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 24 or otherwise on a password-protected website for classroom use. In-Memory Databases A database management system that stores the entire database in random access memory (RAM) Provides access to data at rates much faster than storing data on some form of secondary storage An application: real-time ad bidding Advertisers quickly bid for ad space as a webpage loads This process is completed in less than a second Drawbacks Cost Volatility (data loss on power failure) © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 25 or otherwise on a password-protected website for classroom use. Data Warehouses © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. Data Warehouses Data warehouse: a large database that collects historical business information, typically spanning multiple years (e.g., 3, 5, or 10 years), from many sources in the enterprise to support decision making ETL process Extract Transform Load ETL moves data from its original source (e.g., relational databases) to the data warehouse The ETL moves data on a regular schedule (e.g., daily) © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 27 or otherwise on a password-protected website for classroom use. Data Warehouses © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 28 or otherwise on a password-protected website for classroom use. Relational Databases vs. Data Warehouses Both relational databases and data warehouses organize data into tables One key difference is the data modelling approach: Relational databases are designed to minimize data redundancy - To maintain a single source of truth Data warehouses are designed to handle read-intensive operations - Achieved by minimizing joins (links) between tables Relational Database Model Data Warehouse Model © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 29 or otherwise on a password-protected website for classroom use. Business Intelligence (BI) Includes a wide range of applications, practices, and technologies for the gathering, integration, visualization, analysis, interpretation, and presentation of data to improve decision making Users of BI systems care most about the interface Usually, the interface is interactive BI tools can be used to analyze data from a data warehouse Examples of BI software: Tableau [link] Microsoft Power BI © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 30 or otherwise on a password-protected website for classroom use. NoSQL Databases © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. NoSQL Databases NoSQL is a type of database that does not use a relational table structure NoSQL databases have a flexible schema NoSQL databases are often used for applications that need to be scalable Instead of upgrading to a larger, more powerful server, you can distribute the data across multiple, smaller servers NoSQL databases lack strong data consistency For example, in social media, posts, likes, or comments might be distributed across several servers. If a user adds a comment, it might not immediately appear to users on other servers © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 32 or otherwise on a password-protected website for classroom use. Types of NoSQL Databases Document databases Document databases store data in semi-structured documents, typically using formats like JSON Each document can have a different structure, and there is no fixed schema Commonly used for web applications (e.g., social media and e-commerce) Key-value databases Graph Databases And others Example of JSON © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 33 or otherwise on a password-protected website for classroom use. Flexible Schema (No Fixed Schema) © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 34 or otherwise on a password-protected website for classroom use. Big Data © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. Big Data Extremely large and complex data collections Traditional data management software, hardware, and analysis processes are incapable of dealing with them Three characteristics of big data Volume Velocity - The data comes at us fast and needs to be processed quickly Variety - Structured data (like databases) - Unstructured data (like text, images, and videos) © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 36 or otherwise on a password-protected website for classroom use. Sources of Big Data © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 37 or otherwise on a password-protected website for classroom use. Big Data Uses Social Media Analytics: Volume: huge amounts of user-generated content (posts, images, videos) Velocity: real-time updates and interactions Variety: text, images, videos Healthcare: Volume: patient records, medical imaging data Velocity: real-time monitoring of patient vitals Variety: structured data (patient information), unstructured data (medical images and doctor's notes) Transportation: Volume: data from GPS devices, traffic cameras Velocity: real-time traffic updates Variety: location data, images, video feeds © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 38 or otherwise on a password-protected website for classroom use. Challenges of Big Data Where and how to store and process the data How to find the subset of the data that are relevant to the decision making How to derive value from the relevant data © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 39 or otherwise on a password-protected website for classroom use. Data Lakes © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. Data Lakes Data lake: takes a “store everything” approach to big data, saving all the data in its raw and unaltered form Users decide just how they want to use the data Example: https://lake.data.gov.sa/ © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 41 or otherwise on a password-protected website for classroom use. Summary The database approach to data management has become broadly accepted Data modeling is a key aspect of organizing data and information A well-designed and well-managed database is an extremely valuable tool in supporting decision making Recently, organizations deal with a tremendous growth in the amount of data available and struggling how to manage and make use of it Seven Database Paradigms: https://www.youtube.com/watch?v=W2Z7fbCLSTw © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 42 or otherwise on a password-protected website for classroom use.