본문 바로가기

전체 글86

[DB] 관계형 데이터 모델 Relational Data Model 관계형 데이터 모델 Relational Data Model 데이터 모델에는 개념적 데이터 모델과 논리적 데이터 모델이 있다. 논리적 데이터 모델에 해당하는 모델 중 하나가 관계형 데이터 모델이다. 관계형 데이터 모델은 가장 널리 사용되는 데이터 모델이며, 2차원적인 표(Table)를 이용하여 데이터 상호관계를 정의하는 특징이 있다. 파일 구조처럼 구성한 테이블들을 하나의 DB로 묶어서 테이블 내에 있는 속성들간의 관계를 설정하거나, 테이블 간의 관계를 설정하여 이용한다. 기본키(Primary Key)와 이를 참조하는 외래키(Foreign Key)로 데이터 간의 관계를 표현한다. 관계형 데이터 모델의 구성 개체 Entity : Table Name 속성 Attribute : Table Column/ 열 튜플.. 2019. 10. 30.
[DB] 스키마 Schema 스키마 Schema 스키마는 데이터베이스의 구조와 제약 조건에 대한 전반적인 명세를 기술한 메타데이터의 집합이다. 즉 데이터베이스를 구성하는 개체(Entities), 속성(Attributes), 관계(relations) 및 데이터 조작(Manipulation) 시 데이터 값들이 갖는 제약조건 등에 관해 전반적으로 정의하는 것이다. 스키마의 계층 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나뉜다. 외부스키마 External Schema 외부스키마 = 서브 스키마 = 사용자 뷰 (VIEW) 사용자나 응용프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 데이터 구조를 정의한 것이다. 개념스키마 Conceptual Schema 개념스키마 = 스키마 = 전체적인 뷰 .. 2019. 10. 30.
[DB] 데이터베이스의 개념 데이터베이스 DataBase 데이터베이스는 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합이다. 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음이다. 여러사람에 의해 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 쉽게 접근하여 처리할 수 있도록 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터이다. DBMS DataBase Management System DBMS란 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해주는 소프트웨어이다. 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결해주기 위해 고안된 시스템으로, 여러 응용프로그램이 요구하는 데이.. 2019. 10. 30.
[Java] 다차원 배열 Array 다차원 배열 행과 열로서 구성된 배열을 2차원 배열이라고 한다. 가로 인덱스와 세로 인덱스를 사용한다. 배열 : https://mintparc.tistory.com/51 다차원 배열 선언/ 정의 / 초기화 int[][] number = new int[2][2]; number[0][0] = 1; number[0][1] = 2; number[1][0] = 3; number[1][1] = 4; int[][] number = { { 1, 2 }, { 3, 4 } }; 같은 다차원 배열을 이렇게도 만들 수 있다. 계단식 다차원 배열 int[][] number = { { 1, 2 }, { 3, 4, 5 } }; 다차원 배열은 계단식으로도 사용이 가능하다. 향상된 for문으로 다차원 배열 출력하기 int[][] nu.. 2019. 10. 6.
[Java] 삼항연산자를 중첩하여 If문을 대체하기 삼항연산자 삼항 연산자는 조건식을 가지고 반환할 피연산자를 선택하는 동작을 하기 때문에 조건 연산자라고도 부른다. 이름에서 알 수 있듯 조건식의 결과에 따라 값을 반환하기 때문에, if문과 비슷한 역할을 수행할 수 있다. 이번 글에서는 삼항연산자를 중첩 사용해서 if문을 대체하는 연습을 해보겠다. 삼항연산자의 사용 (조건식)? 참 : 거짓; int a = 20; int b = 10; System.out.println((a > b)? "a가 b보다 크다." : "b가 a보다 크다."); // "a가 b보다 크다." 출력 삼항연산자의 기본적인 사용 방법이다. 조건식이 참일 때는 참에 해당하는 값을 반환하고, 거짓일때는 거짓에 해당하는 값을 반환한다. 만약에 상단의 예시에서 우리는 "a가 b보다 크다.", ".. 2019. 10. 6.
[Java] 속이 빈 정사각형 별 찍기 예제 속이 비어있는 정사각형 스캐너로 숫자를 입력받아서 정사각형 형태로 별을 찍을 것인데, 가운데 부분은 비어 있는 형태로 출력되도록 할 것이다. 스캐너와 조건문을 이용하여 별을 찍어보자. 스캐너로 숫자를 입력받기 Scanner sc = new Scanner(System.in); System.out.println("숫자를 입력하세요."); int number = sc.nextInt(); 규칙 찾기 for문을 이용해서 규칙에 맞게 * (별)이 출력되도록 할 것이다. 첫 번째 규칙 : 맨 윗줄과 맨 아랫줄은 입력받은 숫자만큼 별이 출력된다. 두 번째 규칙 : j가 0일 때와 j가 number - 1 일때 별이 출력된다. 세 번째 규칙 : 모두 아닐 때 공백이 출력된다. for(int i = 0; i < numbe.. 2019. 10. 3.
[Java] 자바 가위바위보 게임 만들기 스캐너로 입력받고 저장하기 대결 상대는 컴퓨터이다. 플레이어는 1 ~ 3 까지의 숫자를 스캐너를 통해 입력하여 가위, 바위, 보 중에 하나를 선택할 수 있다. 컴퓨터는 1 ~ 3 까지의 숫자 중 랜덤 한 수 하나를 배정받았다. 각각 user, com 변수에 저장했다. Scanner sc = new Scanner(System.in); System.out.println("[1: 가위 2:바위 3:보]"); int user = sc.nextInt(); int com = (int) (Math.random() * 3 + 1 - 1) + 1; 입력받은 값을 설정해주기 앞서 입력받은 숫자는 아직까지는 단순히 숫자에 불과하다. 이것을 1은 가위, 2는 바위, 3은 보자기로 설정해주자. user와 com을 파라미터로 받.. 2019. 10. 3.
[Java] 스레드 Thread 프로그램 Program 실행될 수 있는 파일 . exe 프로세스 Process 실행되고 있는 상태 응용프로그램 단위로 실행되는 모듈 스레드 Thread 작업 단위 하나의 프로세스에서 여러 개의 기능 단위로 실행되는 흐름의 단위 스레드는 사전적 의미로 한 가닥의 실이라는 뜻이다. 한 가지 작업을 실행하기 위해 순차적으로 실행할 코드를 실처럼 이어 놓았다고 해서 유래된 이름이다. 스레드 생성 방법 1 : extends Thread 스레드의 기능을 여러 개 사용할 때 쓴다. (read, sleep, join, yield 등의 기능) run ( ) 메소드를 오버라이딩 한다. 작업 스레드가 실행할 작업을 Runnable 로 만들지 않고, Thread의 하위 클래스로 작업 스레드를 정의하면서 작업내용을 포함시킬 수.. 2019. 10. 3.
[Java] 입출력 스트림 IO 입출력 IO 자바에서 데이터는 스트림을 통해 입출력된다. 스트림은 단일 방향으로 연속적으로 흘러가는 것을 말하는 데, 출발지에서 도착지로 흘러간다. 프로그램을 기준으로 키보드의 입력을 읽어오고, 프로그램을 기준으로 모니터에 읽어온 값을 출력한다. 바이트 기반 스트림 byte Stream 입출력 스트림의 기본 그림, 멀티미디어 등의 바이너리 데이터를 읽고 출력할 때 사용한다. InputStream/ OutputStream 은 byte 기반 입출력 스트림의 최상위 클래스이다. 따라서 모든 byte 기반 입출력 스트림은 InputStream/ OutputStream 을 상속받는다. 문자 기반 스트림 char Stream 문자 데이터를 읽고 출력할 때 사용한다. Reader/ Writer 는 문자 기반 입출력 .. 2019. 10. 2.