Language
테이블 - 데이터 자료형, DDL/툴을 통한 생성 및 삭제
| 테이블 정의 - 정형화된 데이터는 RDBMS의 기본 단위인 Table 형태로 저장된다. - Table은 관계(Relation)라고도 불리며, 특정 종류의 데이터를 구조적으로 묶은 목록을 말한다. (1) 칼럼 = 필드 = 속성 : 변수 EX. email, name, addr... (2) 로우 = 레코드 = 튜플 : 실제 값 EX. kim1234@gmail.com, kim1235@gmail.com... | 데이터 자료형 - 종류 : 숫자 / 문자 및 문자열 / Boolean / 날짜 및 시간 / 큰 객체 - 각 DBMS마다 자료형을 표현하는 방식에 차이가 있다. Oracle MySQL/MariaDB SQL Server PostgreSQL 숫자 NUMBER FLOAT TINTINT SMALLLINT MED..
데이터베이스 - 데이터베이스 생성 및 권한 부여(DDL)
| 개요 📌 인스턴스란? = database(데이터의 집합) = table space = 테이블이 위치하는 공간(디렉토리) 📌 계정은 왜 여러개 생성할까? 접속자마다 DB 관리권한이 다를 수 있다. 📌 원격으로 접속하는 컴퓨터에 대한 접속권한도 고려해야 한다. 📌 SQL명령어 - DDL, DML, DCL | SQL (Structured Query Language) - 의미 : DBMS와 소통하기 위한 구조화된 질의어 - 구분 데이터 정의어(DDL, Data Definition Langugae) CREATE, DROP, ALTER, TRUNCATE 데이터 조작어(DML, Data Manipulation Language) INSERT, UPDATE, DELETE, SELETE ( CRUD ) 데이터 제어어(..
JAVA 라이브러리 - 컬렉션
| 컬렉션이란? - 자바에서 자료구조를 구현한 클래스를 말한다. - 컬렉션을 추상적으로 구분한 분류는 크게 아래와 같다. - 단, 실제 Collection을 상속하는 건 List와 Set, Queue이며 Map은 별도의 인터페이스이다. - Collections를 통해서 List를 정렬할 수 있으며, Set이나 Map의 경우 TreeSet과 TreeMap을 쓰면 data가 정렬되어 저장된다. 구분 하위 클래스 중복 순서 List ArrayList, LinkedList, Vector, Stack(Vector 상속) o o Set HashSet, LinkedHashSet, TreeSet x - Map Hashtable, HashMap, LinkedHashMap, TreeMap key x, value o - |..
데이터베이스 환경 구축(설치)
| 데이터베이스의 순위 - 출처 : https://db-engines.com/en/ranking - 2022년을 기준으로 데이터베이스의 순위는 아래와 같다 * 아래 [바로가기]를 선택 시, 해당 DBMS 사용 메뉴얼로 이동 - 예전에 오라클을 설치하는 것을 포스팅한 적이 있었는데 이번에는 MariaDB를 설치하는 법을 작성해보려한다. 1 Oracle RDMBS 오라클사 바로가기 2 MySQL RDMBS 오라클사 바로가기 3 Microsoft SQL Server RDMBS Microsoft 바로가기 4 PostgreSQL RDMBS PostgreSQL단체 바로가기 5 MongoDB NoSQL계열 MongoDB, Inc 바로가기 | MariaDB 설치하기 1. Windows 환경 (1) 다운로드 사이트로 이..
JAVA 라이브러리 - 제네릭 클래스
| 제네릭이란? [사전] Generic = 일반적이다 [정의] 하나의 코드로 여러 타입을 동시에 처리하는 기술 1. 타입 변수 표기법 - 제네릭에 지정하는 타입 변수 이름은 지정하는 사람의 마음이지만, 적어도 그 타입 이름을 사용하는 클래스 또는 인터페이스 내에서는 통일성있게 사용하게 한다. - 일반적으로 변수명과의 구분을 위해 한 개의 대문자로 표시하는 것이 관례이다. - 타입 매개 변수는 기초 자료형으로 객체화될 수 없다. T Type E Element(요소) N Number K Key V Value S,U,V..... 2. 제네릭 클래스 - 최상위 클래스 Object를 사용하면 어떤 타입의 인스턴스건 참조할 수 있다. (업캐스팅, 다형성) - 이러한 원리를 이용해서 클래스를 작성할때 데이터 타입을 ..
파일시스템과 DBMS, RDMBS
| 파일 시스템과 데이터베이스 관리시스템 - 영구적인 데이터 저장을 위해서는 보조기억장치에 파일 형식으로 저장을 하는 것이 필요하다. - 다만, 이런 파일 시스템은 응용 프로그램의 구조와 환경에 의존적이고(데이터 종속성), 그렇기에 같은 데이터여도 구조가 다르다면 여러 개로 중복되어 저장되는(데이터 중복성) 단점이 있다. - 데이터베이스는 이러한 파일시스템의 데이터 종속성과 데이터 중복성을 제거하기 위해 만들어졌다. 1. 파일 시스템 vs 데이터베이스 관리 시스템 파일 시스템 데이터베이스 관리 시스템 정의 컴퓨터에서 자료를 쉽게 찾을 수 있도록 파일 형식으로 보관 및 관리하는 체계 데이터베이스를 체계적으로 관리하기 위한 시스템 종류 FAT/NTFS(windows), ext(linux), APFS(macO..
JAVA 라이브러리 - 날짜, 시간 관련 클래스(java.util/java.time..)
| 날짜, 시간 관련 클래스 1. 날짜 데이터는 언제 쓸까? - 날짜 및 시간에 관한 데이터는 아래의 예시와 같이 다양한 웹 or 앱 서비스에서 사용하고 있다. - 일반적인 회원가입일자 - 쇼핑몰의 주문일자 - 그룹웨어 회의일자 및 시간/장소대여일자 - 모바일앱 특정시간에 알람 - 등등 2. Java의 날짜 및 시간 관련 클래스 - 날짜 객체는 JDK업데이트 과정에서 Data -> Calender -> LocalDate로 발전하였다. (1) Date today = new Date(); 와 같이 Date 객체만을 사용해서 날짜를 표현 (2) Date today = Calendar.getInstance().getTime(); - Calendar를 통해 싱글톤 방식으로 인스턴스 생성하여 사용 (3) Local..
JAVA 라이브러리 - Java.lang 패키지
| Java.lang 패키지 - 가장 기본이 되는 클래스를 담고 있으며, import 없이 사용 가능하다. - Oracle에서 제공하는 java.lang 패키지에 대한 상세 정보는 아래 링크에 (JDK8 기준) https://docs.oracle.com/javase/8/docs/api/java/lang/package-summary.html - 아래 표는 위 링크에서 소개하는 java.lang의 인터페이스와 클래스 중 자주 사용할만한 것만 일부를 가져온 표이다. Interface Class Comparable Object Cloneable Math Runnable Process Readable Thread Thread.UncaughtExceptionHandler String Iterable System ...
객체지향 언어의 특징 4_캡슐화 (정보 은닉)
| 캡슐화 (정보 은닉) 앞에서 상속과 다형성을 이야기할 때, 캡슐화의 원칙에 대해 언급했었다. - 상속의 단점으로 상위 객체의 정보가 하위 객체에서 노출될 수 있고, 그것은 곧 캡슐화의 원칙을 깨는 것이라고 했다. - 다형성 또한 instanceof를 통해 부모가 참조하고 있던 실제 자식 인스턴스를 외부에서 노출하면 캡슐화의 원칙이 깨졌다. 여기에서도 유추할 수 있는 캡슐화의 의미는 "정보 은닉"이다. 캡슐화 : 정보를 객체 내부로 숨겨 외부로부터 감추는 것 | 접근 제어자와 참조변수 1. 접근 제어자의 UML 표현 - private 자기 자신만 접근 가능 ~ default 같은 패키지 내 # protected 상속 또는 같은 패키지 내 + public 모두가 접근 가능 _ static - - 캡슐화를..
객체지향 언어의 특징 3_다형성 (사용 편의성)
| 다형성 (사용 편의성) 다형성이란, 하나의 객체가 여러가지 타입을 가질 수 있는 것을 의미한다. 다형성은 오버로딩과 오버라이딩을 통해 구현할 수 있다. 오버라이딩이 가능한 이유는 뭘까? 그건 동적 바인딩 때문이다. 여기서 동적 바인딩이란 메서드가 실행 시점에서 성격이 결정되는 것을 말한다. 종류 정적바인딩(static binding) 동적바인딩(Dynamic binding) 정의 컴파일 시간에 성격이 결정 실행 시간(런타임)에 성격이 결정 예시 C언어 컴파일 시간에 변수의 데이터타입이 결정 ex. int *p; -- 미리 데이터타입 지정 javascript 런타임에 값에 따라 변수의 데이터타입 결정 ex. var c = 1; -- 미리 데이터타입 지정x ex. Person p = new Person(..